[update let properties in more places, change types of applications when modifying the tail of local functions
John Meacham <john@repetae.net>**20060817045115] hunk ./Grin/Devolve.hs 32
-            return $ if null rmaps then proc body else lt { expDefs = rmaps, expBody = proc body }
+            return $  updateLetProps lt { expDefs = rmaps, expBody = proc body }
hunk ./Grin/Noodle.hs 28
-    f lf e@(App a _ _) | a `Set.member` lf = e
+    f lf e@(App a as t) | a `Set.member` lf = App a as (getType lb)
hunk ./Grin/PointsToAnalysis.hs 344
-            return lt { expDefs = map (uncurry $ createFuncDef True) ds, expBody = body' }
+            return $ updateLetProps lt { expDefs = map (uncurry $ createFuncDef True) ds, expBody = body' }
hunk ./Grin/PointsToAnalysis.hs 438
-valueSetToItem _ _ ty v = error $ "valueSetToItem " ++ show (ty,v)
+valueSetToItem _ pt ty v = error $ "valueSetToItem " ++ show (pt,ty,v)
hunk ./Grin/Whiz.hs 3
-import Grin.Grin
-import qualified Data.Set as Set
-import qualified Data.Map as Map
+import Control.Monad.Identity
hunk ./Grin/Whiz.hs 5
-import Control.Monad.Writer
hunk ./Grin/Whiz.hs 6
+import Control.Monad.Writer
hunk ./Grin/Whiz.hs 8
-import Control.Monad.Identity
+import qualified Data.Map as Map
+import qualified Data.Set as Set
+
+import Grin.Grin
+import Grin.Noodle
hunk ./Grin/Whiz.hs 94
-        return lt { expBody = body, expDefs = defs }
+        return $ updateLetProps lt { expBody = body, expDefs = defs }
hunk ./Grin/Whiz.hs 162
-        return lt { expBody = body, expDefs = defs }
+        return $ updateLetProps lt { expBody = body, expDefs = defs }
hunk ./Main.hs 735
-        lintCheckGrin x
hunk ./Main.hs 738
+        lintCheckGrin x