orangeduck/BuildYourOwnLisp

Learn C and build your own programming language in under 1000 lines of code!

HTML

3,280

385 commits

updated Dec 28, 2025

See the code

README

Build your own Lisp

http://buildyourownlisp.com

About

This is the HTML and website code for the book of the above title.

Corrections / Edits / Contributions Welcome

contact@theorangeduck.com

Book contents licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0

http://creativecommons.org/licenses/by-nc-sa/3.0/

Source code licensed under BSD3

https://opensource.org/license/bsd-3-clause/

Running

You can't just browse the raw HTML files of the site. The links wont work, and it wont have a proper header or footer. If you want to run this website locally, you should install Flask and run the website as follows.

pip install Flask cachelib
python lispy.py

You can specify port via $PORT.

env PORT=5000 python lispy.py

This will serve the site locally at http://127.0.0.1:5000/. You can browse it from there.

Project health

Overall

2.9/10

Maintained

0/10

Code review

6/10
OpenSSF Scorecard

Significant stargazers

(top 24 of 32)

Michael Bridgen

359 followers · starred Dec 2014

Avinash Sajjanshetty

1,433 followers · starred Apr 2021

hengyunabc

1,398 followers · starred Apr 2014

Luo Peng

218 followers · starred Jan 2015

orangeduck/BuildYourOwnLisp

Learn C and build your own programming language in under 1000 lines of code!

HTML

3,280

385 commits

updated Dec 28, 2025

See the code

README

Build your own Lisp

http://buildyourownlisp.com

About

This is the HTML and website code for the book of the above title.

Corrections / Edits / Contributions Welcome

contact@theorangeduck.com

Book contents licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0

http://creativecommons.org/licenses/by-nc-sa/3.0/

Source code licensed under BSD3

https://opensource.org/license/bsd-3-clause/

Running

You can't just browse the raw HTML files of the site. The links wont work, and it wont have a proper header or footer. If you want to run this website locally, you should install Flask and run the website as follows.

pip install Flask cachelib
python lispy.py

You can specify port via $PORT.

env PORT=5000 python lispy.py

This will serve the site locally at http://127.0.0.1:5000/. You can browse it from there.

Project health

Overall

2.9/10

Maintained

0/10

Code review

6/10
OpenSSF Scorecard

Significant stargazers

(top 24 of 32)

Michael Bridgen

359 followers · starred Dec 2014

Avinash Sajjanshetty

1,433 followers · starred Apr 2021

hengyunabc

1,398 followers · starred Apr 2014

Luo Peng

218 followers · starred Jan 2015