[cleanups for node analysis
John Meacham <john@repetae.net>**20090831121514
 Ignore-this: daaa017d8225a9d0766709b693d6e3eb
] hunk ./src/Grin/NodeAnalyze.hs 133
-    --hFlush stdout
-    --exitWith ExitSuccess
-    --return $ grin' { grinTypeEnv = extendTyEnv (grinFunctions grin') (grinTypeEnv grin') }
hunk ./src/Grin/NodeAnalyze.hs 142
+    ans :: M ()
hunk ./src/Grin/NodeAnalyze.hs 158
+    fn :: Todo -> Exp -> M ()
hunk ./src/Grin/NodeAnalyze.hs 215
-        f (Return x) = do
-            ww' <- mapM convertVal x
-            dres ww'
-        f (BaseOp (StoreNode _) w) = do
-            ww <- mapM convertVal w
-            dres ww
+        f (Return x) = do mapM convertVal x >>= dres
+        f (BaseOp (StoreNode _) w) = do mapM convertVal w >>= dres
hunk ./src/Grin/NodeAnalyze.hs 221
-            --dres [Right (N WHNF Top)]
hunk ./src/Grin/NodeAnalyze.hs 225
-            --dres [Right (N WHNF Top)]
-        f (BaseOp PeekVal [w])  = do
-            dres [Right top]
-        f Error {} = dres []
-        f Prim { expArgs = as } = mapM_ convertVal as
+        f Error {} = return ()
+        f Prim { expArgs = as, expType = ty } = mapM_ convertVal as >> dunno ty
hunk ./src/Grin/NodeAnalyze.hs 238
-        f (BaseOp Overwrite vs) = do
-            mapM_ convertVal vs
-            dres []
-        f (BaseOp PokeVal vs) = do
-            mapM_ convertVal vs
-            dres []
-        f (BaseOp PeekVal vs) = do
-            mapM_ convertVal vs
-            dres []
+        f e@(BaseOp Overwrite vs) = do mapM_ convertVal vs >> dunno (getType e)
+        f e@(BaseOp PokeVal vs) = do mapM_ convertVal vs >> dunno (getType e)
+        f e@(BaseOp PeekVal vs) = do mapM_ convertVal vs  >> dunno (getType e)