GitHub - poppingtonic/chaitin-ait: Implementation of Chaitin's Lisp from 1995's The Limits of Mathematics -- Tutorial Version https://arxiv.org/abs/chao-dyn/9509010

2 min read Original article ↗

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-dev on Debian/Ubuntu, readline-devel on 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_history across sessions
  • File loading: :load <filename> to execute Lisp code from files
  • Environment inspection: :env to list current bindings
  • Last result: _ variable holds the last evaluated value
  • Help system: :help for 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