[don't choke on evalution of functions that return unboxed values when all of the arguments end up getting omitted
John Meacham <john@repetae.net>**20061114034515] hunk ./Grin/FromE.hs 316
-evalVar tvr | Just CaseDefault <- Info.lookup (tvrInfo tvr)  = do
+evalVar _ tvr | Just CaseDefault <- Info.lookup (tvrInfo tvr)  = do
hunk ./Grin/FromE.hs 319
-evalVar tvr | getProperty prop_WHNF tvr = do
+evalVar _ tvr | getProperty prop_WHNF tvr = do
hunk ./Grin/FromE.hs 322
-evalVar tvr = return $ gEval (toVal tvr)
+--evalVar fty tvr = return $ gEval (toVal tvr)
+evalVar fty tvr = return $ App funcEval [toVal tvr] fty
hunk ./Grin/FromE.hs 366
-                    ee <- evalVar tvr
-                    app fty ee as
+                    case as of
+                        [] -> evalVar fty tvr
+                        _ -> do
+                            ee <- evalVar TyNode tvr
+                            app fty ee as
hunk ./Grin/Grin.hs 500
+    typecheck te ap@(App fn [v] t) | fn == funcEval = do
+        v' <- typecheck te v
+        if v' == TyPtr TyNode then return t
+         else fail $ "App eval arg doesn't match: " ++ show ap