Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Even Emacs Lisp has had a byte code compiler since forever, and since Emacs 28 it compiles to native machine code via libgccjit.

Toy lisp interpreters are easy and fun and everywhere, often written in lisp itself, but the same books that teach them go on to teach compilers. SICP chapter 4 is the metacircular evaluator, chapter 5 is the compiler. That ordering is the point: interpretation is the pedagogy, compilation is the destination. Lisp was designed to be easy and efficient to compile (so was Self, and that tech lineage runs straight into HotSpot and V8).

The archaeology cuts the other way too. The only famous pure interpreter was LISP I on the 7090, and within two years Hart and Levin's Lisp 1.5 compiler (1962) became the first self-hosting compiler in any language: written in Lisp, compiling itself. Lisp practically invented compilation as we know it.

And today: SBCL doesn't even interpret by default, a form typed at the REPL is native code before it runs. Clojure compiles every form to JVM bytecode. Interpreters exist, but nobody ships them as the production path outside of pedagogy.



Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: