(Learn Lisp)

A curated collection of resources to master the most elegant family of programming languages

(journey (from 'curious) (to 'enlightened))
()()()

(A Brief History)

1958

The Birth of Lisp

John McCarthy creates Lisp at MIT, making it the second-oldest high-level programming language still in use today (after Fortran).

1975

Scheme Emerges

Gerald Jay Sussman and Guy L. Steele Jr. create Scheme, a minimalist dialect emphasizing lexical scoping and tail-call optimization.

1984

Common Lisp Standard

Common Lisp is standardized, unifying many Lisp dialects into a powerful, feature-rich language.

2007

Clojure Arrives

Rich Hickey releases Clojure, bringing Lisp to the JVM with immutable data structures and modern concurrency primitives.

2017+

The Renaissance

New dialects like Janet, Fennel, and Hy bring Lisp ideas to embedded systems, game development, and Python interop.

(General Lisp Resources)

The Little Schemer

A delightful, mind-bending introduction to recursive thinking and Lisp through Socratic dialogue.

bookbeginner

Paul Graham's Lisp Essays

Influential essays on Lisp including 'Beating the Averages' and 'What Made Lisp Different'.

essaysfree

(Common Lisp)

The industrial-strength Lisp with an extensive standard library, powerful metaprogramming, and decades of real-world use.

Practical Common Lisp

Peter Seibel's modern, practical introduction to Common Lisp. Available free online.

bookfreebeginner

On Lisp

Paul Graham's advanced exploration of Lisp macros and bottom-up programming.

bookfreeadvanced

Let Over Lambda

Doug Hoyte's deep dive into closures and advanced macro techniques.

bookadvanced

Common Lisp HyperSpec

The complete ANSI Common Lisp specification - the authoritative reference.

referencefree

Lisp-Lang.org

Modern Common Lisp community site with tutorials, library documentation, and success stories.

communityfree

SBCL

Steel Bank Common Lisp - a high-performance, open source Common Lisp compiler.

implementationfree

Portacle

A portable, multiplatform Common Lisp development environment. Perfect for beginners.

toolfreebeginner

(Scheme)

The minimalist Lisp that proves less is more. Scheme's elegance makes it ideal for teaching and language research.

How to Design Programs

A systematic approach to program design using Racket/Scheme. Great for beginners.

bookfreebeginner

CHICKEN Scheme

A practical Scheme that compiles to C. Great FFI and egg repository.

implementationfree

Guile

GNU's official extension language. Powers Guix, LilyPond, and more.

implementationfree

Chez Scheme

One of the fastest Scheme implementations, now open source.

implementationfree

Scheme Wiki

Community wiki with tutorials, idioms, and implementation comparisons.

communityfree

(Racket)

The "language-oriented programming" language. Build your own languages with Racket's unmatched DSL capabilities.

The Racket Guide

The official introduction to Racket - well-written and comprehensive.

guidefreebeginner

Beautiful Racket

Matthew Butterick's guide to making languages with Racket. Inspiring and practical.

bookadvanced

Realm of Racket

Learn Racket by building games. Fun illustrated approach.

bookbeginner

Racket Documentation

Exemplary documentation covering the language and all bundled packages.

referencefree

Racket Discord

Active community chat for Racket programmers of all levels.

communityfree

(Clojure)

Modern Lisp for the JVM, JavaScript, and CLR. Immutable data, functional programming, and practical concurrency.

4Clojure

Practice Clojure with interactive coding exercises.

exercisesfree

Clojure.org

Official site with guides, references, and community resources.

referencefree

ClojureTV

Conference talks and tutorials from Rich Hickey and the Clojure community.

videofree

Babashka

Fast-starting Clojure for scripting. Write Clojure scripts that start instantly.

toolfree

(Emacs Lisp)

The Lisp powering Emacs - one of the most extensible programs ever created. Customize everything.

Mastering Emacs

Mickey Petersen's excellent book on becoming an Emacs power user.

bookadvanced

EmacsWiki

Community wiki with tips, code snippets, and configuration ideas.

communityfree

(Janet)

A lightweight Lisp for scripting and system programming. Embeddable in applications like Lua, not to be confused with embedded devices.

Janet Documentation

Official documentation covering the language, standard library, and C API.

referencefree

Jaylib

Janet bindings for Raylib. Make games with Janet!

libraryfree

JPM

Janet Project Manager - package manager and build tool for Janet projects.

toolfree

(Other Lisps & Inspired Languages)

The Lisp family keeps growing. These languages bring Lisp ideas to new domains and platforms.

Fennel

A Lisp that compiles to Lua. Perfect for game development with L?VE2D.

languagefree

Hy

A Lisp embedded in Python. Access Python's ecosystem with Lisp syntax.

languagefree

Picolisp

A radically minimalist Lisp focused on simplicity and expressiveness.

languagefree

Carp

A statically typed Lisp without garbage collection for real-time systems.

languagefree

uLisp

A Lisp for microcontrollers. Run Lisp on Arduino, ESP32, and other embedded devices.

languagefree

Wisp

Lisp with optional indentation-based syntax. Python-like looks, Lisp semantics.

toolfree

Arc

Paul Graham's experimental Lisp dialect focused on brevity.

languagefree

Bel

Paul Graham's latest Lisp specification - a spec for a new dialect.

languageexperimental

JavaScript

"Scheme in the browser" they said. First-class functions, closures, and lambda... under a Java costume.

languagefreeclassic