4 ms·
Pycket – A Tracing JIT for a Functional Language [pdf]
- FullyFunctional 12y agoVery 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, ...).