

Pycket – A Tracing JIT for a Functional Language [pdf] - michaelsbradley
http://homes.soic.indiana.edu/samth/pycket-draft.pdf

======
FullyFunctional
Very interesting, though there's a large overlap with material covered in the
cited papers.

It was particularly interesting that a good result could be obtained despite
started with such a simple model (CEK).

Some questions that comes to mind:

* Is the allocation elimination good enough that you could just treat all variable as set! mutated instead?

* If instead of direct-style (later "re-discovered" as A-normal form) you used CPS with first-class continuations, then the two-phases of the append problem would fall right out?

A downside to using a generic JIT engine, like RPython, is the loss of
language specific GC opportunities (for a lazy language, these include
indirection elimination, trivial reductions, untagged heap objects, ...).

