[improve datalog output
John Meacham <john@repetae.net>**20090508192523
 Ignore-this: 91a88a7320bdac616bbb66ae748a0c6c
] hunk ./Grin/Lint.hs 135
-    f [Right (Var b _)] (Store (NodeC n vs)) = hPrintf h "store(%s,%s,%s).\n" (dshow b) (dshow n) (if tagIsWHNF n then "true" else "false")
+    f [Right (Var b _)] (Store (NodeC n vs)) = hPrintf h "store(%s,%s,%s).\n" (dshow b) (dshow n) (if tagIsWHNF n then "true" else "false") >> app n vs
hunk ./Grin/Lint.hs 157
+    app n as | Just (0,fn) <- tagUnfunction n = do
+        hPrintf h "lazyfunc(%s).\n" (dshow fn)
+        forM_ (zip naturals as) $ \ (i,a) -> do
+            assign "assign" (Left $ funArg fn i) a
+    app _ _ = return ()
+
hunk ./Grin/Lint.hs 170
+    genAssign op (Left b) (Right (Const {})) = hPrintf h "perform(%s,%s,%s).\n" op (dshow b) "const"
hunk ./Grin/Lint.hs 172
-    genAssign op (Left b) (Right v) = when (tyInteresting $ getType v) $ setUnknown h b (show v)
-    genAssign op (Right b) rv =  bindUnknown h b (take 20 $ show rv)
+    genAssign op (Left b) (Right v) = when (tyInteresting $ getType v) $ setUnknown h b (show (op,v))
+    genAssign op (Right b) rv =  bindUnknown h b (take 20 $ show (op,rv))