A curated collection of resources to learn Lisp and its many dialects.
Live site: sexp-ed.com
sexp-ed is a single-page static website listing learning resources for:
- Common Lisp - The industrial-strength Lisp
- Scheme - The minimalist, elegant Lisp
- Racket - The language-oriented programming language
- Clojure - Modern Lisp for the JVM
- Emacs Lisp - Power your editor with Lisp
- Janet - Lightweight, embeddable Lisp
- And more: Fennel, Hy, LFE, Carp, Arc, Bel...
- Haunt - Static site generator written in Guile Scheme
- SXML - HTML templates using S-expressions (very Lispy!)
- Docker - Containerized build environment
Docker and Docker Compose are required. No need to install Guile or Haunt locally.
docker compose run --rm buildThis generates the static site in the site/ directory.
docker compose up serveVisit http://localhost:8080 to preview the site.
If you have Guile and Haunt installed locally:
# Build
haunt build
# Serve
haunt servesexp-ed/
├── haunt.scm # Site configuration
├── Dockerfile # Build environment
├── docker-compose.yml # Build/serve commands
├── assets/
│ └── css/
│ └── style.css # Playful, parentheses-inspired design
├── templates/
│ └── base.scm # HTML template (navigation, footer)
├── pages/
│ └── index.scm # All content and resources
└── site/ # Generated output (gitignored)
The site automatically deploys to Cloudflare Pages when you push to main.
-
Create a Cloudflare Pages project named
sexp-ed -
In your GitHub repo, add these secrets (Settings → Secrets → Actions):
CLOUDFLARE_API_TOKEN- Create at Cloudflare API Tokens with "Cloudflare Pages: Edit" permissionCLOUDFLARE_ACCOUNT_ID- Found in your Cloudflare dashboard URL or account settings
-
(Optional) Add custom domain
sexp-ed.comin Cloudflare Pages settings
You can also trigger a deploy manually from the Actions tab using "Run workflow".
Contributions welcome! To add a resource:
- Edit
pages/index.scm - Add a
resource-cardto the appropriate section - Test locally with
docker compose up serve - Submit a pull request
Content is available under CC BY 4.0.
Code is available under the MIT License.
Made with ♥ and lots of parentheses