Skip to content
David Jeske edited this page May 31, 2020 · 36 revisions

These are prefixed with "zz" so they sort at the bottom of the pages list.

Dynamic Programming Gaps (things a LISPer would like)

Debugger Support

Three possible options for debugging:

  1. Add debugging support to the VM, teach the compiler to output debugging symbols for bytecode
  2. adding #line directives to the C output
  3. add an LLVM backend, using LLVMs debugging directives

For 2/3, gdb can be extended to support language specific commands. See Google Go GDB extensions

JIT VMs with Tail Call Optimization

CLR supports Tail Call Optimization.

LuaJIT supports Tail Call Optimization.

EcmaScript 6 requires proper tail call optimization. When TCO is implemented in Google V8, it could be an interesting backend target, because of its aggressive JIT, and support for Source Map, which is like debugging symbols for javascript transpilers.

Future Directions

Research that might one day make it into Irken.

Garbage Collection

Type Inference

Syntax

Fun References

Clone this wiki locally