Autology: A Self-Modifying Lisp Interpreter
2025-03-24
Autology, a functional Lisp interpreter written in Clojure, offers a unique approach to metaprogramming by providing access to its own interpreter. By rebinding the variable *i* (which points to the interpreter function), programs can dynamically alter Autology's syntax and behavior at runtime. This allows for adding functions, changing evaluation strategies, and more. While not particularly performant, Autology provides a fascinating exploration of Lisp metaprogramming and runtime language modification.
Development