summaryrefslogtreecommitdiff
path: root/src/runtime
AgeCommit message (Collapse)Author
2014-10-09replace the hash maps in the abstract syntax with binary search tableskr.angelov
2014-10-09add the const modifier to the key in the two procedures for binary search in ↵kr.angelov
libgu
2014-10-08use MAP_FIXED in gu_mmap_poolkr.angelov
2014-10-08an experimental memory mapped pool. still not in usekr.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-25the literals API is now exposed in Pythonkr.angelov
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-22haskell-bind/PGF2.hsc: unexport functions that break referential transparencyhallgren
loadConcr, unloadConcr and addLiteral modify the Concr structure as a side effect. This means that other functions with a Concr argument (e.g. parse and linearize) are no longer pure. Possible solutions: 1. Don't try to hide the imperative nature of the C run-time system: remove all uses of unsafePerformIO and let all functions operate in the IO monad. 2. Don't export functions with side effects. Perhaps the desired functionality of loadConcr, unloadConcr and addLiteral can be folded into readPGF. The Concr structures can then treaded as immutable after after the readPGF function returns...
2014-09-17fix a portability problem with the Python binding (found by Prasanth)kr.angelov
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-10now release the FunPtr:s that are allocated for each literal callbackkr.angelov
2014-09-10added an API for custom literals in the Haskell bindingkr.angelov
2014-09-10added loadConcr/unloadConcr to the Haskell binding. This exposes an API for ↵kr.angelov
loading grammars compiled with -split-pgf
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
2014-09-01bug fixes in the JIT compilerkr.angelov
2014-08-29added evaluator.h which I had forgotenkr.angelov
2014-08-13Fix warnings in 16 modules, mostly forward compatibility warnings from GHC 7.8hallgren
2014-08-11pattern matching in def rules is now supportedkr.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.
2014-07-15PGF Web Service: include entire completion in full modejohn.j.camilleri
When using full=yes in the web service 'complete' command, you now get an additional field 'seq' with the longest possible completion. So, given: lin f1 = ss "the" ; f2 = ss ("the red house" | "the real deal") ; and trying to complete on input "th", you get: [ { "from": "TestCnc", "brackets": { "cat": "_", "fid": 0, "index": 0, "fun": "_", "children": [] }, "text": "th", "completions": [ { "token": "the", "funs": [ { "fun": "f1", "hyps": [], "cat": "C", "seq": "the" }, { "fun": "f2", "hyps": [], "cat": "C", "seq": "the red house" }, { "fun": "f2", "hyps": [], "cat": "C", "seq": "the real deal" } ] } ] } ]
2014-07-11PGF web service: Return additional completion info with 'full' flagjohn
BETA! The 'complete' command now has a new flag 'full' which when set returns additional info about completions. Without 'full' flag (default): [ { "from": "PhrasebookEng", "brackets": { "cat": "_", "fid": 0, "index": 0, "fun": "_", "children": [ { "token": "the" } ] }, "text": "su", "completions": [ "supermarket", "suspect" ] } ] With full=true or full=yes: [ { "from": "PhrasebookEng", "brackets": { "cat": "_", "fid": 0, "index": 0, "fun": "_", "children": [ { "token": "the" } ] }, "text": "su", "completions": [ { "token": "supermarket", "funs": [ { "fid": 421, "fun": "Supermarket", "hyps": [], "cat": "PlaceKind" } ] }, { "token": "suspect", "funs": [ { "fid": 445, "fun": "Suspect", "hyps": [], "cat": "Property" } ] } ] } ]
2014-07-08implemented computing with abstract syntax trees. It passes all test cases ↵kr.angelov
except those that require def rules. The design is consistent with the STG virtual machine
2014-07-08bugfix for the typechecker in the C runtimekr.angelov
2014-07-06an API for visitor patterns on abstract syntax trees from Python. This makes ↵kr.angelov
the embedded grammars especially pleasing
2014-07-06small fix for the embedded mode in Pythonkr.angelov
2014-07-06embedded mode for GF grammar in Python. Only generation for nowkr.angelov
2014-07-02added bracketedLinearize in the Java bindingkr.angelov
2014-07-02fixed rare memory leak in the Java bindingskr.angelov
2014-07-01a few changes in the Nerc that I have forgoten to pushkr.angelov
2014-07-01fix warnings in the compilation of the Java bindingkr.angelov