Skip to content


Folders and files

Last commit message
Last commit date

Latest commit


Repository files navigation

Lithp is a(nother) McCarthy Lisp interpreter (with macros implemented in Lithp) written in the Python Programming Language.

note: currently only the Python port is fully operational

RIP John McCarthy 1927.09.04 - 2011.10.23

RIP Timothy Hart 1939.09.18 - 2014.01.20

What The?!?

My last true exposure to Lisp was during my college years. Since then I have hacked away at a bit of ELisp, but even that was done in the spirit of immediacy. With the resurgence of Lisp, thanks to the advocacy of Mr. Paul Graham, I feel it is once again time to (re)learn the language. However, times have changed; I have written my recursive algorithms, I have explored the beauty of closures, and I have touched on functional programming with the grace and emotion of a lover. However, I fear that if I simply take up the task of (re)learning Lisp then I will take these notions for granted and not appreciate them fully as they relate to Lisp itself. Therefore, I feel that my best chance for truly absorbing Lisp is the invent Lisp. While the leg-work has already been done by such luminaries as Mr. McCarthy, Mr. Steele, and Mr. Sussman, it is my intention to approach their works as if they are newly minted and implement them within the Lithp interpreter.


The Lithp interpreter provides the absolute core functions of McCarthy's original as outlined in his classical paper. That is, there are only seven functions and two special forms.

Seven Functions

  1. atom
  2. car
  3. cdr
  4. cond
  5. cons
  6. eq
  7. quote

Two Special Forms

  1. label
  2. lambda


cd src/py


This software is provided as-is under the MIT license.


McCarthy's Lisp in Python with macros. A celebration of 50+ years of symbolic processing.








No releases published


No packages published