Commit Graph

9 Commits

Author SHA1 Message Date
hallgren
c2e7f89a0a Remove unused function computeConcreteRec.
This also allows the parameter rec to be removed from function computeTermOpt.
(The change is made in GF.Compile.Compute.ConcreteLazy, but not in 
GF.Compile.Compute.ConcreteStrict.)
2011-09-09 12:25:27 +00:00
hallgren
ce714fa723 Add lazy version of GF.Compile.Compute.Concrete
This patch adds GF.Compile.Compute.ConcreteLazy, which replaces the Err monad
with the Identity monad. While the Err monad makes the interpreter
(hyper)strict, the Identity monad let's the interpreter inherit Haskell's
laziness.  This can give big speedups: from 50s to 1s in one example,
from ~4 minutes to ~2 minutes for the RGL.

This is still experimental and might be buggy, so it is off by default.
You can turn it on by configuring with the -fcclazy flag, e.g.

	cabal configure -fcclazy

Let me know if anything breaks.
2011-09-01 16:39:41 +00:00
aarne
b5d04181ba reload command in shell 2011-08-25 15:58:38 +00:00
aarne
22a079e8f1 commented Compute/Concrete with explanations 2011-08-22 17:08:07 +00:00
aarne
7d3949a270 Predef functions toUpper, toLower, isUpper 2011-06-02 16:10:46 +00:00
aarne
dd937731f6 Predef.error surfaces as error message in compilation and cc command 2011-02-25 17:01:10 +00:00
aarne
54f04ecb5a fixed the failure to partial-evaluate pre in right-associative context 2010-12-11 16:27:35 +00:00
krasimir
51e4f36b80 the abstract syntax for Predef.gf is now hard-coded in AppPredefined.hs 2010-07-01 15:38:16 +00:00
krasimir
527efbef9d reorganize the modules in GF.Compile.* 2010-07-01 14:19:32 +00:00