summaryrefslogtreecommitdiff
path: root/src/runtime/haskell/PGF/Expr.hs
AgeCommit message (Collapse)Author
2025-02-18Bug fix for gf-shell command 'pt -compute' in Expr.hs byHans Leiss
tryMatch p (VConst _ _) env = match sig f eqs as0
2024-03-01showExpr and linearize now refresh the printed variables if neededaarneranta
2017-09-05GF.Command.TreeOperations is now independent from the runtime's internalsKrasimir Angelov
2017-08-29the embedded grammars now work with both the pure Haskell and the Haskell ↵Krasimir Angelov
binding API
2014-09-11a major revision of the bytecode generator and JIT compiler. the effect is ↵kr.angelov
that now we can compute with lambda functions and with true tail recursion
2014-09-05full support for recursive def rules in the C runtimekr.angelov
2014-08-11a partial support for def rules in the C runtimekr.angelov
The def rules are now compiled to byte code by the compiler and then to native code by the JIT compiler in the runtime. Not all constructions are implemented yet. The partial implementation is now in the repository but it is not activated by default since this requires changes in the PGF format. I will enable it only after it is complete.
2013-11-05linearization by chunks in the GF shell: a new command 'lc' needed because ↵aarne
'l' requires type checking and trees with metavariable function heads don't type check. This will hopefully be a temporary command.
2013-11-05Eliminate mutual dependencies between the GF compiler and the PGF libraryhallgren
+ References to modules under src/compiler have been eliminated from the PGF library (under src/runtime/haskell). Only two functions had to be moved (from GF.Data.Utilities to PGF.Utilities) to make this possible, other apparent dependencies turned out to be vacuous. + In gf.cabal, the GF executable no longer directly depends on the PGF library source directory, but only on the exposed library modules. This means that there is less duplication in gf.cabal and that the 30 modules in the PGF library will no longer be compiled twice while building GF. To make this possible, additional PGF library modules have been exposed, even though they should probably be considered for internal use only. They could be collected in a PGF.Internal module, or marked as "unstable", to make this explicit. + Also, by using the -fwarn-unused-imports flag, ~220 redundant imports were found and removed, reducing the total number of imports by ~15%.
2012-08-29A basic infrastructure for generating Teyjus bytecode from the GF abstract ↵kr.angelov
syntax
2012-03-26Fix List.foldl / Map.foldl ambiguositySergei Trofimovich
Fixes the following error: src/runtime/haskell/PGF/Expr.hs:111:14: Ambiguous occurrence `foldl' It could refer to either `List.foldl', imported from `Data.List' at src/runtime/haskell/PGF/Expr.hs:27:1-24 (and originally defined in `GHC.List') or `Map.foldl', imported from `Data.Map' at src/runtime/haskell/PGF/Expr.hs:28:1-40
2011-08-30bugfixes in the typechecker and the tree generatorkr.angelov
2011-08-29skip spaces before closing parenthesis in PGF.Expr.pFactoraarne
2011-01-08fix the computation of abstract expressions in the presence of implicit ↵krasimir
arguments
2010-10-02refactor the API for random generation again. Now PGF contains probabilities ↵krasimir
in the abstract syntax
2010-08-30PGF.Expr.normalForm does variable renamingkrasimir
2010-07-31two new functions in the PGF API: mkAbs, unAbskrasimir
2010-07-31now the meta id of the meta variables is accessible via the PGF APIkrasimir
2010-05-01fixes in unStr,unInt,unDouble,isMetakrasimir
2010-03-18pattern @ should be propagated to PGFkrasimir
2010-03-18syntax for inaccessible patterns in GFkrasimir
2010-02-22refactor PGF.Expr and PGF.TypeCheck so that the evaluator always has access ↵krasimir
to the meta store
2010-01-31add Show instance and remove the Eq and Ord instances for PGF.Expr.Equation ↵krasimir
and PGF.Expr.Patt
2010-01-29bugfix in the PGF typechecker and more test caseskrasimir
2010-01-27cleanup the code of the PGF interpreter and polish the binary serialization ↵krasimir
to match the preliminary specification
2010-01-15allow metavariables with indices i.e. ?0, ?1, etc in the abstract syntax ↵krasimir
parser in PGF
2010-01-15now the abstract syntax in PGF allows the same syntax for integers, floats ↵krasimir
and strings as in Haskell. This includes negative integers and exponents in the floats
2009-12-13reorganize the directories under src, and rescue the JavaScript interpreter ↵krasimir
from deprecated