summaryrefslogtreecommitdiff
path: root/src/compiler/GF/Compile
AgeCommit message (Collapse)Author
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
2010-11-26Add builtin preprocessors. Avoid creating tmp file. Fix multipreprocessor bug.hallgren
* The gf command line options -preproc=mkPresent and -preproc=mkMinimal now refer to internal preprocessors equivalent to lib/src/mkPresent and lib/src/mkMinimal. * The temporary file _gf_preproc.tmp is not created when running an internal preprocessor, unless there is an error, since errors messages refer to locations in the preprocessed file. (Possibly allowing the rgl build to be parallelized.) * After running an external preprocessor, the temporary file is deleted, unless there was an error. * (Bug fix) Before, when running more than one preprocessor, the same file name would be used for both input and output, e.g., mkPresent _gf_preproc.tmp > _gf_preproc.tmp which would result in an empty file being processed. Now, the input and output files will always be different.
2010-11-12operations in the abstract syntaxkrasimir
2010-10-25fixed typo in GeneratePMCFG.hs. fidFloat -> fidVarkrasimir
2010-10-18added explicit depth parameter to the parsing API and the corresponding ↵krasimir
command in the shell
2010-10-02refactor the API for random generation again. Now PGF contains probabilities ↵krasimir
in the abstract syntax
2010-08-30added missing case for GF.Compile.GeneratePMCFG.evalTermkrasimir
2010-08-09native representation for HOAS in PMCFG and incremental type checking of the ↵krasimir
parse forest
2010-07-07report type errors in the shell from command "p"krasimir
2010-07-01the abstract syntax for Predef.gf is now hard-coded in AppPredefined.hskrasimir
2010-07-01reorganize the modules in GF.Compile.*krasimir
2010-07-01redesign the open-literals APIkrasimir
2010-06-30compilation of pattern matching using the algorithm of Lennart Augustsson. ↵krasimir
Not used yet
2010-06-30rename isLiteralFCat -> isPredefFId, fcat(String|Int|Float) -> ↵krasimir
fid(String|Int|Float)
2010-06-22fix the compilation of literal categories in GeneratePMCFG.hskrasimir
2010-06-20addFCoercion -> addCoercion in GeneratePMCFGkrasimir
2010-06-20getFCats -> getFIds in GeneratePMCFGkrasimir
2010-06-20removed debugging code in GeneratePMCFG.hskrasimir
2010-06-18Yay!! Direct generation of PMCFG from GF grammarkrasimir
2010-06-18the automatically generated printnames were just junks. Now we store ↵krasimir
printnames only if they are explicitly specified.
2010-06-17rename GF.Grammar.Predef.isPredefCat to isLiteralCatkrasimir
2010-06-09dead code elimination for PGF. Note: the produced grammars will not work ↵krasimir
well with metavariables and high-order abstract syntax
2010-06-08fixed bug in the recompilation checker which caused the phrasebook to be ↵krasimir
recompiled each time
2010-06-08bugfix for flag -no-recompkrasimir
2010-05-28refactoring in GF.Grammar.Grammarkrasimir