An implementation of Gregory Chaitin's implementation of Lisp, written to explore and try to understand his theorems on Algorithmic Information Theory.
Build
Prerequisites
- GCC compiler
- GNU Readline library (
libreadline-devon Debian/Ubuntu,readline-develon Fedora/RHEL)
Compilation
git clone https://github.com/poppingtonic/chaitin-ait.git cd chaitin-ait/src # Using Makefile (recommended) make # Or compile directly gcc -o lisp lisp.c -lreadline # Run the interpreter ./lisp
REPL Features
The interpreter includes quality-of-life improvements:
- Command history: Use ↑/↓ arrow keys to navigate through previous commands
- Line editing: Full readline support (Emacs-style keybindings by default)
- History persistence: Command history saved to
.lisp_historyacross sessions - File loading:
:load <filename>to execute Lisp code from files - Environment inspection:
:envto list current bindings - Last result:
_variable holds the last evaluated value - Help system:
:helpfor REPL commands
Happy hacking!
Usage
Read Gregory Chaitin's The Limits of Mathematics (Tutorial Version) https://arxiv.org/abs/chao-dyn/9509010
Thank you for checking this project out! Because I don't have time to transcribe at the time I'm publishing this, I ask for your assistance in documenting your experiences or challenges if you're reading the tutorial and this project interests you.
All bugs are my own, all credit goes to Gregory Chaitin for the smartness in this code.
From the tutorial: All enquires, comments and suggestions regarding this software should be sent via e-mail to chaitin@watson.ibm.com