Writing a Lisp JIT Interpreter with GraalVM Truffle

Table of Contents 1. What is Graal and Truffle 2. Speculation and Truffle DSL 2.1. @GenerateNodeFactory 3. Runtime Macro Expansion 3.1. Frames Within Frames 4. Special Forms 5. Built-In Function Inlining 5.1. Lazy AST Creation 5.2. Function Redefinition And Assumptions 6. Emacs Lisp Closures 7. Creating Closures In a Loop 7.1. Sharing AST Between Closures 8. Anything More? Mandelbort benchmark:…