hallgren
b0e9ded3cd
Setup.hs: comment out sDistHook, which seems to be broken but is not used
2014-10-14 15:03:47 +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
1c2e02ad50
simplify jit_bare_ret
2014-10-14 09:09:26 +00:00
kr.angelov
2b881397c5
a refactoring in the Susanne converter which for some reason was not pushed before
2014-10-10 12:10:44 +00:00
kr.angelov
f8b73d593c
Prelude.CAPIT is now a built-in primitive. It still generates &| in the Haskell runtime but will be intepreted in the C runtime
2014-10-09 19:34:12 +00:00
kr.angelov
86e9acc7a7
throw away the long obsolete runtime type information in the C runtime
2014-10-09 13:44:26 +00:00
kr.angelov
8e3ed825a8
fix two warnings in mem.c
2014-10-09 13:22:39 +00:00
kr.angelov
b905558ce8
fix in gu_mmap_pool for Android
2014-10-09 13:21:56 +00:00
kr.angelov
397276defd
fix for lightning for ARM
2014-10-09 13:17:01 +00:00
kr.angelov
3e49a1cf73
remove the pgf-service util which is obsolete anyway
2014-10-09 11:28:56 +00:00
kr.angelov
6c86e7fa91
replace the hash maps in the abstract syntax with binary search tables
2014-10-09 08:38:55 +00:00
kr.angelov
84b257e85c
add the const modifier to the key in the two procedures for binary search in libgu
2014-10-09 07:25:26 +00:00
kr.angelov
a9a781e4a0
use MAP_FIXED in gu_mmap_pool
2014-10-08 19:43:08 +00:00
kr.angelov
f178be5405
an experimental memory mapped pool. still not in use
2014-10-08 18:28:51 +00:00
hallgren
539f0880a3
GF.Infra.Options: change from String to Int in the type of optJobs
2014-10-08 16:57:04 +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
67781996b6
a missing case in instruction SET
2014-10-07 20:05:05 +00:00
kr.angelov
35333385b6
bugfix in the byte code compiler
2014-10-07 20:03:54 +00:00
kr.angelov
e98d61b7b7
added a missing case for PUSH instruction with a global closure
2014-10-07 11:46:38 +00:00
kr.angelov
de1b372ef7
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
13c7721bc5
using instruction RET was wrong; now use EVAL
2014-10-06 15:57:42 +00:00
kr.angelov
af7feea385
fix the order in which arguments are stored in the mk_const gate
2014-10-06 12:31:39 +00:00
kr.angelov
a50315396f
push a stack frame around recursive calls to guarantee that a nested call to a failing function will not crash
2014-10-06 09:21:08 +00:00
kr.angelov
889c0f3df4
partial implementation for the FAIL instruction
2014-10-06 09:04:25 +00:00
kr.angelov
4e00834c68
bugfix in pgf_evaluate_expr_thunk
2014-09-30 17:34:29 +00:00
kr.angelov
f5da57056c
fix pgf_value2expr for partial applications
2014-09-30 13:46:46 +00:00
kr.angelov
312d4ff52e
enough fixes to get the JIT compiler compile for ARM. It is still broken if you try to use it
2014-09-30 12:39:31 +00:00
kr.angelov
b7798f9348
add evaluator.c in Android.mk
2014-09-30 12:37:18 +00:00
kr.angelov
f25b45e13d
fix in reader.h for compiling jpgf.c
2014-09-30 11:25:27 +00:00
kr.angelov
6be25aa872
fix in pgf_print_expr for lambda abstractions with more than one argument
2014-09-30 09:42:18 +00:00
aarne
7c5cb356ca
AppChi needs more stack space now
2014-09-30 09:35:51 +00:00
kr.angelov
70455b88a7
bugfix in the gate evaluate_value_lambda
2014-09-30 08:42:06 +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
1ecd61f7f5
bugfix in the RET instruction
2014-09-29 13:04:49 +00:00
kr.angelov
87c5c4b0cc
enlarge the code window in pgf_jit_gates to ensure enough space on 64-bit machines
2014-09-29 07:34:32 +00:00
aarne
aef787aeb1
checked that course of value tables (table P [...]) have the correct number of values w.r.t the type P. This was previously not checked, and caused hard-to-find run-time errors.
2014-09-27 17:14:35 +00:00
aarne
ca1cad68d0
command for AppEngFin
2014-09-26 14:48:09 +00:00
kr.angelov
7036d56d29
the literals API is now exposed in Python
2014-09-25 11:59:40 +00:00
kr.angelov
8e64fc6e7e
switch off the debugging of the JIT compiler which I had turned on accidentally. silence two harmless warnings
2014-09-25 11:44:45 +00:00
kr.angelov
14e6eec5ec
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
hallgren
928217f9d9
examples/app/Makefile2: add missing -probs flag
2014-09-23 12:20:44 +00:00
hallgren
13fe719a26
doc/gf-developers.t2t: add a note about how to create OS X Installer packages
2014-09-23 12:18:17 +00:00
hallgren
db9aeb2fa2
haskell-bind/PGF2.hsc: unexport functions that break referential transparency
...
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-22 14:05:17 +00:00
kr.angelov
3ced115807
forgot to type check the type of a typed let expression
2014-09-17 22:25:08 +00:00
kr.angelov
e34d5b0409
appForm now skips over Typed expressions
2014-09-17 22:02:36 +00:00
kr.angelov
a5f81ff81c
the type checker for the abstract syntax now allows let expressions in def 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-17 21:59:45 +00:00