[add ability to turn off global optimization, add -ffast flag, don't check grin unless -flint is used
John Meacham <john@repetae.net>**20060405023455] hunk ./FlagOpts.flags 20
+global-optimize perform whole program E optimization
hunk ./FlagOpts.flags 27
-
hunk ./FlagOpts.flags 28
-@default inline-pragmas rules wrapper float-in strictness defaulting type-analysis monomorphism-restriction boxy eval-optimize
+@default inline-pragmas rules wrapper float-in strictness defaulting type-analysis monomorphism-restriction boxy eval-optimize global-optimize
+
+@fast no-eval-optimize no-global-optimize
hunk ./Main.hs 522
+    unless (fopts FO.GlobalOptimize) $ do
+        prog <- barendregtProg prog
+        wdump FD.LambdacubeBeforeLift $ printProgram prog
+        finalStats <- Stats.new
+        prog <- transformProgram "lambda lift" (dump FD.Progress) (lambdaLift finalStats) prog
+        wdump FD.Progress $ Stats.print "PostLifting" finalStats
+        wdump FD.Lambdacube $ printProgram prog -- printCheckName dataTable (programE prog)
+        compileToGrin prog
+        exitSuccess
+
hunk ./Main.hs 611
+    compileToGrin prog
+
hunk ./Main.hs 614
+compileToGrin prog = do
hunk ./Main.hs 623
-    typecheckGrin x
+    lintCheckGrin x
hunk ./Main.hs 631
-        when flint $ typecheckGrin x
+        lintCheckGrin x
hunk ./Main.hs 641
-    typecheckGrin x
hunk ./Main.hs 643
+        lintCheckGrin x
hunk ./Main.hs 649
-        typecheckGrin x
+        lintCheckGrin x
hunk ./Main.hs 654
-        typecheckGrin x
+        lintCheckGrin x
hunk ./Main.hs 658
-        typecheckGrin x
+        lintCheckGrin x
hunk ./Main.hs 667
-        typecheckGrin x
+        lintCheckGrin x
hunk ./Main.hs 838
+lintCheckGrin grin = when flint $ typecheckGrin grin
+