summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2014-10-15Fixes for the haddock documentationhallgren
2014-10-14the compiler now allows + to be used as a floating point addition in the ↵kr.angelov
abstract syntax
2014-10-14yet another bugfix in the byte codekr.angelov
2014-10-14another bugfix in the byte code generationkr.angelov
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 two warnings in mem.ckr.angelov
2014-10-09fix in gu_mmap_pool for Androidkr.angelov
2014-10-09fix for lightning for ARMkr.angelov
2014-10-09remove the pgf-service util which is obsolete anywaykr.angelov
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-08GF.Infra.Options: change from String to Int in the type of optJobshallgren
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-07bugfix in the byte code compilerkr.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-30add evaluator.c in Android.mkkr.angelov
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-29minor stylistic change in GenerateBCkr.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-27checked that course of value tables (table P [...]) have the correct number ↵aarne
of values w.r.t the type P. This was previously not checked, and caused hard-to-find run-time errors.
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-17forgot to type check the type of a typed let expressionkr.angelov
2014-09-17appForm now skips over Typed expressionskr.angelov
2014-09-17the type checker for the abstract syntax now allows let expressions in def ↵kr.angelov
rules, since they are easily compilable to byte code. This fails in the Haskell runtime since let expressions are not allowed as abstract syntax expressions.
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