summaryrefslogtreecommitdiff
path: root/src/compiler/GF/Compile
AgeCommit message (Collapse)Author
2012-01-14sorted the list of funs and cats in GrammatToPGF to get the predef ↵aarne
categories in proper place and get gr, ai, gt work properly
2011-12-02The typechecker is still unfinished but at least it can typecheck the ↵kr.angelov
English resource grammar
2011-11-30Hopefully complete Value type and a little bit more on computations.kr.angelov
2011-11-30more stuff in the new type checkerkr.angelov
2011-11-29Sketch of the new type checker for the concrete syntax. Enabled only with ↵kr.angelov
-new-comp
2011-11-24now if some module is compiled with -no-pmcfg then the PMCFG code is ↵kr.angelov
generated at the end during the linking phase. Now the default compilation of the libraries with cabal is with -no-pmcfg.
2011-11-22make addSequencesB(V) strict. Otherwise we get stack overflow when compiling ↵kr.angelov
LangFre
2011-11-17rebuildModule should do location globalization tookr.angelov
2011-11-17bugfix in the overload resolution. It was accidentally introduced as part of ↵kr.angelov
the per module PMCFG generation
2011-11-15fix in the versioning of the .gfo fileskr.angelov
2011-11-15now we store version number in every .gfo file. If the file is compiled with ↵kr.angelov
different compiler then we simply recompile it.
2011-11-15Now the errors messages from GF.Compile.Update also follow the new formatkr.angelov
2011-11-15the indirections in the .gf-tags files now point directly to the origin of ↵kr.angelov
the corresponding indentifiers
2011-11-15more structured format for errors and warnings from the compilerkr.angelov
2011-11-14bugfix in the new PGF generationkr.angelov
2011-11-14the new design for -tagskr.angelov
2011-11-10Now PMCFG is compiled per module and at the end we only link it. The new ↵kr.angelov
compilation schema is few times faster.
2011-11-02merge GF.Infra.Modules and GF.Grammar.Grammar. This is a preparation for the ↵kr.angelov
separate PGF building
2011-11-02Now the compiler maintains more precise information for the source locations ↵kr.angelov
of the different definitions. There is a --tags option which generates a list of all identifiers with their source locations.
2011-11-01Remove configuration flag cclazyhallgren
2011-10-25Recording an alternative version of look in Compute/ConcreteLazy.hshallgren
Commented out, causes problems in the greek example.
2011-10-25qualification with real module name accepted, as in GF refmanaarne
2011-10-24use associativity to force more precompilation of pre expressionsaarne
2011-10-20Introduce an explicit error value in the Term typehallgren
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-20Compute/ConcreteLazy.hs: no need to reverse when looking up labels in recordshallgren
2011-10-20AppPredefined.hs: more readable notation for the types of primitiveshallgren
2011-09-09Remove unused function computeConcreteRec.hallgren
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-01Add lazy version of GF.Compile.Compute.Concretehallgren
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-08-31GF.Compile.Coding: cleaner code hallgren
Refine function codeTerm into codeTerm, codeLTerm and codeLTerms.
2011-08-31GF.Infra.Modules: minor tweakshallgren
Still keeping the modules both in a list and in a finite map. The overhead is smaller than I initially thought.
2011-08-30GF.Infra.Modules: keep the modules of a grammar in a finite map instead of a ↵hallgren
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-30GrammarToPGF.hs: comment out unused importshallgren
2011-08-25reload command in shellaarne
2011-08-22commented Compute/Concrete with explanationsaarne
2011-07-21GenIP, GenRP in Extra and any_Quant in ExtraEngaarne
2011-06-02Predef functions toUpper, toLower, isUpperaarne
2011-04-06generate Eq instance for GADTaarne
2011-04-06fixed the printing of predefined and list categories in haskell=gadtaarne
2011-03-12make it possible to override opers defined in an interface by syntax ↵aarne
'instance Foo of Bar - [f,g,h]'
2011-03-12make later flags take priority over earlier ones in PGF generation aarne
2011-03-05added composOp generation to haskell-gadt, and an example in ↵aarne
examples/gadt-transfer
2011-03-04revived GADT generationaarne
2011-03-04fixed a variable refreshing bug in the compileraarne
2011-02-25Predef.error surfaces as error message in compilation and cc commandaarne
2010-12-17bugfix: GeneratePMCFG should initialize the lexicon to emptykrasimir
2010-12-14type checking of oper types with let expressionsaarne
2010-12-11fixed the failure to partial-evaluate pre in right-associative contextaarne
2010-12-07moved PGF.ToApi to GF.Compile.ToAPIaarne
2010-12-06printing option -api in the eb commandaarne
2010-11-30format .gfm for multiple modules in the same file; includes lines with ↵aarne
;-separated words