Lisp Curriculum
Sep 2024 - Alex Alejandre

It’s easy to waste time oscillating between different Lisps, but it’s a waste of time because mastering one makes switching quite easy, but going back and forth stresses the superficial differences. Here’s a nice curriculum which does all the different flavors, but in an ordered way:

  1. install with this and be aware it exists (20mins): https://lispcookbook.github.io/cl-cookbook/
  2. Practical Common Lisp: https://gigamonkeys.com/book/ - 1 month
  3. Paradigms of AI programming: https://norvig.github.io/paip-lisp/ (different from modern neural approaches, but really good work on general software engineering) - 2-3 months
  4. Beautiful Racket: https://beautifulracket.com/ (will teach/expand on a very interesting paradigm. The above ends with you writing a minimal Scheme, this uses a bigger Scheme to make new languages) - 1 month
  5. Structure and Interpretation of Computer Programs: https://sarabander.github.io/sicp/html/index.xhtml (perhaps the bible of CS, even giving up half way through, it’s really worth it) - 3-6 months

By the end of 3 you were ready for anything. All that’s left is a 1 month detour (or love affair) with Clojure: https://www.braveclojure.com/clojure-for-the-brave-and-true/ or more arcane works like Art of the Meta-Object Protocol, Lisp in Small Pieces or Let over Lambda. (By the time you get here, you’ll be able to judge which to use for what you want.)

Esoteric insights mostly come from Common Lisp and Scheme. (Clojurists are mostly seniors who got their Lisp education in others. They are practical and just put everything into nested maps.)

Professional use mostly happens in Clojure and Common Lisp. (Clojure is more public while CL has more classified projects. The Clojure ecosystem is quite fantastic (if you can ignore the JVM) while CL has warts, which can be overcome (but it’s a learning experience.))

Various Schemes, Fennel or other paradigms The first books in the Little Schemer series are fun and teach good intuitions, but they’re not really necessary and you’ll pick it up otherwise. The latter ones are special, teaching the like Prolog have interesting personalities, but haven’t reached critical mass, such that you must add features as you go. So while each Clojure, Scheme and Common Lisp have materials from beginner to advanced, this curriculum starts with practical uses of Common Lisp which transition into arcane wisdom through Scheme, which then continues with Common Lisp or goes into a practical direction with Clojure.


N.b. If you go for common lisp, you’ll need emacs to use slime. This guide to org mode is the best guide for emacs (understanding where configs are, setting things up etc): https://orgmode.org/worg/org-tutorials/org4beginners.html (1 hour, and another 1-2 hours for the emacs hotkey guide which appears when you open it)