hallgren
5bfaf10de5
Comment out some dead code found with -fwarn-unused-binds
...
Also fixed some warnings and tightened some imports
2015-08-28 13:59:43 +00:00
kr.angelov
b1e6a21c56
now (+) in the abstract syntax works, i.e. it knows how to deal with partial sums
2014-10-31 14:16:11 +00:00
kr.angelov
9b0f354c7c
a more efficient tail call by using the new TUCK instruction
2014-10-30 13:09:50 +00:00
kr.angelov
efedec187c
an explicit SAVE instruction
2014-10-26 11:40:12 +00:00
kr.angelov
c8b3865338
an explicit PUSH_FRAME instruction
2014-10-22 14:11:41 +00:00
kr.angelov
26ad164cec
finally proper stack unwind in the evaluator
2014-10-16 10:00:32 +00:00
kr.angelov
ac288386c4
the compiler now allows + to be used as a floating point addition in the abstract syntax
2014-10-14 11:15:18 +00:00
kr.angelov
b5cc77aea1
yet another bugfix in the byte code
2014-10-14 10:39:28 +00:00
kr.angelov
37bd8dd9fd
another bugfix in the byte code generation
2014-10-14 09:43:43 +00:00
kr.angelov
f4dc2c0b6e
bugfix in the bytecode generator
2014-10-14 09:27:24 +00:00
kr.angelov
9c2f71b07a
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
35333385b6
bugfix in the byte code compiler
2014-10-07 20:03:54 +00:00
kr.angelov
13c7721bc5
using instruction RET was wrong; now use EVAL
2014-10-06 15:57:42 +00:00
kr.angelov
f70eecb63c
minor stylistic change in GenerateBC
2014-09-29 15:08:00 +00:00
kr.angelov
80acad4447
bugfix in the pattern matching compiler and a number of other fixes that I somehow did not push before
2014-09-29 15:00:04 +00:00
kr.angelov
621d748bac
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
4d28c7632e
the code for def rules now uses proper graph update to preserve lazyness
2014-09-05 11:53:02 +00:00
kr.angelov
86b5f78c57
full support for recursive def rules in the C runtime
2014-09-05 10:09:43 +00:00
kr.angelov
bfd414554d
partial implementation for recursive def rules
2014-09-01 14:51:20 +00:00
kr.angelov
584d589041
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
hallgren
d6252d1c16
PGF library: expose only PGF and PGF.Internal instead of all modules
...
PGF exports the public, stable API.
PGF.Internal exports additional things needed in the GF compiler & shell,
including the nonstardard version of Data.Binary.
2014-06-12 14:43:18 +00:00
kr.angelov
91ca7c9a1b
catch all case in GenerateBC.genFun
2012-09-18 08:32:21 +00:00
kr.angelov
545e48e881
another fix for teyjus
2012-08-30 08:09:30 +00:00
kr.angelov
f8fe23fda7
A basic infrastructure for generating Teyjus bytecode from the GF abstract syntax
2012-08-29 11:43:02 +00:00