hallgren
8195c36f6f
Workaround for bug in ghc-7.2.2
...
An apparent bug in ghc-7.2.2 causes the type Value to be exported from PGF.Data.
Workaround: restrict the imports from PGF.Data in GF.Command.Abstract and
GF.Compile.GeneratePMCFG to avoid the clash with locally defined type Value.
(ghc-7.0.4 and ghc-7.4.1 appear to be free from this bug.)
2012-03-26 23:56:56 +00:00
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
kr.angelov
df0fe4363d
buf fix in the compiler for HOAS
2012-02-28 08:10:47 +00:00
aarne
a777481313
the Predef function eqVal to compare equality of parameter values
2012-02-24 10:00:27 +00:00
aarne
8936c6d38e
sorted the list of funs and cats in GrammatToPGF to get the predef categories in proper place and get gr, ai, gt work properly
2012-01-14 17:06:54 +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
f1cacffc98
now if some module is compiled with -no-pmcfg then the PMCFG code is generated at the end during the linking phase. Now the default compilation of the libraries with cabal is with -no-pmcfg.
2011-11-24 14:23:04 +00:00
kr.angelov
1f174fe04f
make addSequencesB(V) strict. Otherwise we get stack overflow when compiling LangFre
2011-11-22 20:31:58 +00:00
kr.angelov
c626262f9a
rebuildModule should do location globalization too
2011-11-17 22:11:56 +00:00
kr.angelov
67aa44a620
bugfix in the overload resolution. It was accidentally introduced as part of the per module PMCFG generation
2011-11-17 21:36:45 +00:00
kr.angelov
79ba3c0877
fix in the versioning of the .gfo files
2011-11-15 19:46:02 +00:00
kr.angelov
1b85355d47
now we store version number in every .gfo file. If the file is compiled with different compiler then we simply recompile it.
2011-11-15 19:12:22 +00:00
kr.angelov
0163942df9
Now the errors messages from GF.Compile.Update also follow the new format
2011-11-15 15:33:52 +00:00
kr.angelov
f47381e578
the indirections in the .gf-tags files now point directly to the origin of the corresponding indentifiers
2011-11-15 14:30:31 +00:00
kr.angelov
48558197a8
more structured format for errors and warnings from the compiler
2011-11-15 13:33:44 +00:00
kr.angelov
9b482722c3
bugfix in the new PGF generation
2011-11-14 16:27:59 +00:00
kr.angelov
e161f93f4d
the new design for -tags
2011-11-14 16:08:56 +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
f7dc299c87
qualification with real module name accepted, as in GF refman
2011-10-25 14:03:27 +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
hallgren
117fe7ad70
GF.Compile.Coding: cleaner code
...
Refine function codeTerm into codeTerm, codeLTerm and codeLTerms.
2011-08-31 13:55:49 +00:00
hallgren
38db834a65
GF.Infra.Modules: minor tweaks
...
Still keeping the modules both in a list and in a finite map. The overhead is
smaller than I initially thought.
2011-08-31 11:18:16 +00:00
hallgren
0325f7264d
GF.Infra.Modules: keep the modules of a grammar in a finite map instead of a list
...
This speeds up the compilation of PhrasebookFin.pgf by 12%, mosly by speeding
up calls to lookupModule in calls from lookupParamValues, in calls
from allParamValues.
The invariant "modules are stored in dependency order" is no longer respected!
But the type MGrammar is now abstract, making it easier to maintain this or
other invariants in the future.
2011-08-30 18:54:50 +00:00
hallgren
3c848ad0b5
GrammarToPGF.hs: comment out unused imports
2011-08-30 12:02:32 +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
9023382c31
GenIP, GenRP in Extra and any_Quant in ExtraEng
2011-07-21 08:25:04 +00:00
aarne
7d3949a270
Predef functions toUpper, toLower, isUpper
2011-06-02 16:10:46 +00:00
aarne
58acad5689
generate Eq instance for GADT
2011-04-06 12:27:31 +00:00
aarne
393976d889
fixed the printing of predefined and list categories in haskell=gadt
2011-04-06 07:45:35 +00:00
aarne
afbfbaa73a
make it possible to override opers defined in an interface by syntax 'instance Foo of Bar - [f,g,h]'
2011-03-12 11:24:14 +00:00
aarne
87aa41d503
make later flags take priority over earlier ones in PGF generation
2011-03-12 11:22:21 +00:00
aarne
54feac5d26
added composOp generation to haskell-gadt, and an example in examples/gadt-transfer
2011-03-05 22:25:03 +00:00
aarne
c834cb348c
revived GADT generation
2011-03-04 17:05:40 +00:00
aarne
8fc455f22b
fixed a variable refreshing bug in the compiler
2011-03-04 16:44:30 +00:00
aarne
dd937731f6
Predef.error surfaces as error message in compilation and cc command
2011-02-25 17:01:10 +00:00
krasimir
2262c105ab
bugfix: GeneratePMCFG should initialize the lexicon to empty
2010-12-17 09:11:04 +00:00
aarne
07d95b2b3f
type checking of oper types with let expressions
2010-12-14 14:35:41 +00:00