brownplt/LambdaS5 — pull request #27 by labichn (2013-01-18 20:38:07+00:00)
Title: A CESK machine-style evaluator for LambdaS5

Added:
src/ljs/ljs_cesk.ml
- main CESK evaluate function and entry point from s5.ml
src/ljs/ljs_clos.ml
- machine-specific closures and functions on closures
src/ljs/ljs_kont.ml
- machine-specific continuations and functions on continuations
tests/single_test.sh
- easily run single tests for with CESK or S5 eval

Modified:
src/s5.ml
- added -eval-cesk and -continue-cesk-eval evaluation flags

Currently passing 208 tests while failing 4--parity with ljs_eval.

Future work:
- improve our naive garbage collection strategy
- develop this evaluator into an analyzer using the "abstracting
abstract machines" approach (Van Horn and Might, CACM'11)