1
0
forked from GitHub/gf-core
Commit Graph

13 Commits

Author SHA1 Message Date
kr.angelov
4ac5902fc9 replace the hash maps in the abstract syntax with binary search tables 2014-10-09 08:38:55 +00:00
kr.angelov
23642fbb90 now we statically allocate closures for all top-level functions and all nullary constructors. closures are dynamically allocated only for CAFs. this reduces memory use and time to allocate dynamic closures 2014-10-08 12:57:29 +00:00
kr.angelov
9e493031b2 the indirection should be done in the evaluate_expr_thunk gate instead of in the pgf_evaluate_expr_thunk function. this ensures lazyness 2014-10-07 07:12:40 +00:00
kr.angelov
b07a2652d8 partial implementation for the FAIL instruction 2014-10-06 09:04:25 +00:00
kr.angelov
dee64838f4 bugfix in pgf_evaluate_expr_thunk 2014-09-30 17:34:29 +00:00
kr.angelov
0bdd599972 fix pgf_value2expr for partial applications 2014-09-30 13:46:46 +00:00
kr.angelov
9fd8d5d019 bugfix in the gate evaluate_value_lambda 2014-09-30 08:42:06 +00:00
kr.angelov
25e8e4ce5a now a complete JIT compiler and ByteCode compiler for the def rules in the abstract syntax. there might be some bugs yet to be found, meta variables and computation under lambda is only partially supported 2014-09-25 10:35:06 +00:00
kr.angelov
923ad6b3c0 a major revision of the bytecode generator and JIT compiler. the effect is that now we can compute with lambda functions and with true tail recursion 2014-09-11 15:39:39 +00:00
kr.angelov
d7dc541f74 the code for def rules now uses proper graph update to preserve lazyness 2014-09-05 11:53:02 +00:00
kr.angelov
912225a5dd pattern matching in def rules is now supported 2014-08-11 15:53:41 +00:00
kr.angelov
03b067782c a partial support for def rules in the C runtime
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-08-11 10:59:10 +00:00
kr.angelov
0138869499 implemented computing with abstract syntax trees. It passes all test cases except those that require def rules. The design is consistent with the STG virtual machine 2014-07-08 19:45:49 +00:00