Commit Graph

24 Commits

Author SHA1 Message Date
aarne
8b07c2607d bug fix in AppPredefined: don't compare values that contain variables. this should be checked even more generally. 2012-02-28 15:13:32 +00:00
aarne
a777481313 the Predef function eqVal to compare equality of parameter values 2012-02-24 10:00:27 +00:00
kr.angelov
1d72e2de7e The typechecker is still unfinished but at least it can typecheck the English resource grammar 2011-12-02 12:33:26 +00:00
kr.angelov
9f777aed7e Hopefully complete Value type and a little bit more on computations. 2011-11-30 20:56:31 +00:00
kr.angelov
11a37316da more stuff in the new type checker 2011-11-30 14:55:52 +00:00
kr.angelov
eaaefe73d0 Sketch of the new type checker for the concrete syntax. Enabled only with -new-comp 2011-11-29 12:12:51 +00:00
kr.angelov
bbe42d1e90 Now PMCFG is compiled per module and at the end we only link it. The new compilation schema is few times faster. 2011-11-10 14:09:41 +00:00
kr.angelov
54019c75ae merge GF.Infra.Modules and GF.Grammar.Grammar. This is a preparation for the separate PGF building 2011-11-02 13:57:11 +00:00
kr.angelov
bc35626489 Now the compiler maintains more precise information for the source locations of the different definitions. There is a --tags option which generates a list of all identifiers with their source locations. 2011-11-02 11:44:59 +00:00
hallgren
f46593559a Remove configuration flag cclazy 2011-11-01 13:45:12 +00:00
hallgren
2a10c21ad9 Recording an alternative version of look in Compute/ConcreteLazy.hs
Commented out, causes problems in the greek example.
2011-10-25 18:50:07 +00:00
aarne
ffd9a93a80 use associativity to force more precompilation of pre expressions 2011-10-24 12:52:20 +00:00
hallgren
a8b97caed4 Introduce an explicit error value in the Term type
This makes it easier to treat run-time errors (e.g. caused by calls to
Predef.error) in a way that is more typical for a lazy functional language.
2011-10-20 14:36:30 +00:00
hallgren
ec346b16bb Compute/ConcreteLazy.hs: no need to reverse when looking up labels in records 2011-10-20 14:19:33 +00:00
hallgren
61c54d4490 AppPredefined.hs: more readable notation for the types of primitives 2011-10-20 14:17:37 +00:00
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