[perform lint checking more often
John Meacham <john@repetae.net>**20060314093536] hunk ./Main.hs 416
-    wdump FD.Lambdacube $ printProgram prog
+    lintCheckProgram prog
+
+    --wdump FD.Lambdacube $ printProgram prog
hunk ./Main.hs 425
-    wdump FD.Lambdacube $ printProgram prog
+    lintCheckProgram prog
+    --wdump FD.Lambdacube $ printProgram prog
hunk ./Main.hs 443
+    lintCheckProgram prog
+
hunk ./Main.hs 703
+lintCheckE dataTable tvr e | flint = case inferType dataTable [] e of
+    Left ss -> do
+        putErrLn  ( render $ hang 4 (pprint tvr <+> equals <+> pprint e))
+        putErrLn $ "\n>>> internal error:\n" ++ unlines (intersperse "----" $ tail ss)
+        case optKeepGoing options of
+            True -> return ()
+            False -> putErrDie "Type Error in E"
+    Right v -> return ()
+lintCheckE _ _ _ = return ()
+
+lintCheckProgram prog | flint = mapM_ f (programDs prog) where
+    f (tvr,e) = lintCheckE (progDataTable prog) tvr e
+lintCheckProgram _ = return ()
+