summaryrefslogtreecommitdiff
path: root/src/runtime/c/pgf
AgeCommit message (Collapse)Author
2014-12-01fix the last patchkr.angelov
2014-12-01a small optimization in the PGF parser which gives me ~5% speed upkr.angelov
2014-12-01fix in GNU lightning to enable the compilation of two of the the floating ↵kr.angelov
point operations.
2014-12-01fix in linearizer.h to make jpgf compilablekr.angelov
2014-11-27fix in linearizer.h which resolves a warningkr.angelov
2014-11-27remove pgf/parser.hkr.angelov
2014-11-26fix the handling of the heuristic factor. it was broken when I added the ↵kr.angelov
BIND token which means that the App grammar was running about 2-3 times slower.
2014-11-07expand the JIT window for x64kr.angelov
2014-10-31a skeletal module for higher-order pattern unification in the C runtimekr.angelov
2014-10-31now (+) in the abstract syntax works, i.e. it knows how to deal with partial ↵kr.angelov
sums
2014-10-30a more efficient tail call by using the new TUCK instructionkr.angelov
2014-10-26an explicit SAVE instructionkr.angelov
2014-10-23a simple optimization in cmp_item_prob with great effect on the parser's speedkr.angelov
2014-10-23fix the debug mode in the reasonerkr.angelov
2014-10-22CAPIT is now naturally supported in the C runtimekr.angelov
2014-10-22an explicit PUSH_FRAME instructionkr.angelov
2014-10-17the C runtime now supports reading and writing expressions with indexed meta ↵kr.angelov
variables. The type checker generates fresh indices
2014-10-16bugfix in the parser for abstract expressions in the C runtimekr.angelov
2014-10-16finally proper stack unwind in the evaluatorkr.angelov
2014-10-14the compiler now allows + to be used as a floating point addition in the ↵kr.angelov
abstract syntax
2014-10-14bugfix in the bytecode generatorkr.angelov
2014-10-14simplify jit_bare_retkr.angelov
2014-10-09Prelude.CAPIT is now a built-in primitive. It still generates &| in the ↵kr.angelov
Haskell runtime but will be intepreted in the C runtime
2014-10-09throw away the long obsolete runtime type information in the C runtimekr.angelov
2014-10-09fix for lightning for ARMkr.angelov
2014-10-09replace the hash maps in the abstract syntax with binary search tableskr.angelov
2014-10-08now we statically allocate closures for all top-level functions and all ↵kr.angelov
nullary constructors. closures are dynamically allocated only for CAFs. this reduces memory use and time to allocate dynamic closures
2014-10-07a missing case in instruction SETkr.angelov
2014-10-07added a missing case for PUSH instruction with a global closurekr.angelov
2014-10-07the indirection should be done in the evaluate_expr_thunk gate instead of in ↵kr.angelov
the pgf_evaluate_expr_thunk function. this ensures lazyness
2014-10-06using instruction RET was wrong; now use EVALkr.angelov
2014-10-06fix the order in which arguments are stored in the mk_const gatekr.angelov
2014-10-06push a stack frame around recursive calls to guarantee that a nested call to ↵kr.angelov
a failing function will not crash
2014-10-06partial implementation for the FAIL instructionkr.angelov
2014-09-30bugfix in pgf_evaluate_expr_thunkkr.angelov
2014-09-30fix pgf_value2expr for partial applicationskr.angelov
2014-09-30enough fixes to get the JIT compiler compile for ARM. It is still broken if ↵kr.angelov
you try to use it
2014-09-30fix in reader.h for compiling jpgf.ckr.angelov
2014-09-30fix in pgf_print_expr for lambda abstractions with more than one argumentkr.angelov
2014-09-30bugfix in the gate evaluate_value_lambdakr.angelov
2014-09-29bugfix in the pattern matching compiler and a number of other fixes that I ↵kr.angelov
somehow did not push before
2014-09-29bugfix in the RET instructionkr.angelov
2014-09-29enlarge the code window in pgf_jit_gates to ensure enough space on 64-bit ↵kr.angelov
machines
2014-09-25switch off the debugging of the JIT compiler which I had turned on ↵kr.angelov
accidentally. silence two harmless warnings
2014-09-25now a complete JIT compiler and ByteCode compiler for the def rules in the ↵kr.angelov
abstract syntax. there might be some bugs yet to be found, meta variables and computation under lambda is only partially supported
2014-09-16dummy jit_base_tail_finishr for x86_64. kr.angelov
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-05the code for def rules now uses proper graph update to preserve lazynesskr.angelov
2014-09-05full support for recursive def rules in the C runtimekr.angelov
2014-09-01partial implementation for recursive def ruleskr.angelov