[fix Grin.Devolve to catch all lifted functions in a single pass and not have to recurse
John Meacham <john@repetae.net>**20090305101654
 Ignore-this: 77c2df6b5b0d325cc9e4c7f054a6dfa
] hunk ./Grin/Devolve.hs 32
-    putStrLn "-- devolve"
hunk ./Grin/Devolve.hs 54
-            mapM_ print (Map.toList pmap)
-            --nmaps <- mapM (g . fst) nmaps
-            modifyIORef col (++ fsts nmaps)
-            --mapExpExp f $  updateLetProps lt { expDefs = rmaps, expBody = proc body }
-            return $ updateLetProps lt { expDefs = rmaps, expBody = runIdentity $ proc body }
+            --mapM_ print (Map.toList pmap)
+            nmaps <- mapM (g . fst) nmaps
+            modifyIORef col (++ nmaps)
+            mapExpExp f $  updateLetProps lt { expDefs = rmaps, expBody = runIdentity $ proc body }
hunk ./Grin/Devolve.hs 62
-    let ng = setGrinFunctions (lf ++ nf) grin { grinPhase = PostDevolve, grinTypeEnv = ntenv }
-    if null lf then return ng else devolveGrin ng
+    return $  setGrinFunctions (lf ++ nf) grin { grinPhase = PostDevolve, grinTypeEnv = ntenv }
+    --if null lf then return ng else devolveGrin ng
+    --if null lf then return ng else devolveGrin ng