aarne
69f84defb0
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
aa7668ef75
the Predef function eqVal to compare equality of parameter values
2012-02-24 10:00:27 +00:00
kr.angelov
c52f05ed46
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
b859edee38
Hopefully complete Value type and a little bit more on computations.
2011-11-30 20:56:31 +00:00
kr.angelov
7863b21c1a
more stuff in the new type checker
2011-11-30 14:55:52 +00:00
kr.angelov
fffc5f2507
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
416d231c5e
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
734c66710e
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
5fe49ed9f7
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
f8665c7213
Remove configuration flag cclazy
2011-11-01 13:45:12 +00:00
hallgren
c4ee13abac
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
7372da3d7f
use associativity to force more precompilation of pre expressions
2011-10-24 12:52:20 +00:00
hallgren
ed451653bd
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
ef4fac9d82
Compute/ConcreteLazy.hs: no need to reverse when looking up labels in records
2011-10-20 14:19:33 +00:00
hallgren
d8d60adb15
AppPredefined.hs: more readable notation for the types of primitives
2011-10-20 14:17:37 +00:00
hallgren
42ea96a5ca
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
875df01dc6
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
6757ab2b41
reload command in shell
2011-08-25 15:58:38 +00:00
aarne
3afefb0ac9
commented Compute/Concrete with explanations
2011-08-22 17:08:07 +00:00
aarne
a3924abece
Predef functions toUpper, toLower, isUpper
2011-06-02 16:10:46 +00:00
aarne
445a3aafeb
Predef.error surfaces as error message in compilation and cc command
2011-02-25 17:01:10 +00:00
aarne
9b5223a06b
fixed the failure to partial-evaluate pre in right-associative context
2010-12-11 16:27:35 +00:00
krasimir
710b8f1bf7
the abstract syntax for Predef.gf is now hard-coded in AppPredefined.hs
2010-07-01 15:38:16 +00:00
krasimir
e0231cbf5b
reorganize the modules in GF.Compile.*
2010-07-01 14:19:32 +00:00