This repository implements LISP as described in the original paper, "Recursive Functions of Symbolic Expressions and Their Computation by Machine", with annotations providing information on the history of LISP. The implementation of the base language is in LISP/m-expr-lang.rkt. The LISP-in-LISP implementation is given in LISP/prelude.lisp1 and LISP/self-hosting.rkt, and LISP/apply.lisp1. LISP/modules.rkt implements some functions for convenience of running LISP code. This is intended to be an interactive codebase: try opening the code, reading through it, and playing around! There is a REPL as implemented in LISP/modules.rkt, but it may be buggy.