This started out as a mere stub while I put together some more resources, and over the years became a quite large list of LISP implementations I have kept an eye on.
There are matching lists for Scheme and Clojure.
Almost everybody has their own lisp implementation. Some programmers’ dogs and cats probably have their own lisp implementations as well. This is great, but too often I see people omit some of the obscure but critical features that make lisp uniquely wonderful. These include read macros like #. and backreferences, gensyms, and properly escaped symbol names. If you’re going to waste everybody’s time with yet another lisp, at least do it right damnit. (from the
femtolisp
README)
Resources
Category | Date | Link | Notes |
---|---|---|---|
Common Lisp | 2022 | Steel Bank | |
Embeddable Common Lisp | |||
2017 | darkmatter | A notebook-style LISP environment |
|
2015 | Ceramic | An Electron wrapper for shipping desktop applications |
|
2014 | Clozure CL | Fast, runs on ARM, compiles down to native code, uses threads |
|
McCLIM | A GUI toolkit for Common Lisp |
||
SICL | A modular implementation of Common Lisp for mixing and matching. |
||
Compilers | 2024 | basilisp | a Clojure-inspired LISP that compiles to Python AST at runtime |
kamikalisp | functional and concise Lisp inspired by Haskell and APL |
||
squint | a lightweight ClojureScript-like language that compiles to JavaScript |
||
2023 | gdlisp | LISP for Godot |
|
wisp (for WebAssembly) | A Lisp system for WebAssembly and native execution, written in Zig |
||
slick | an S-expression syntax for Go |
||
Easy-ISLisp | an interpreter and compiler for ISLisp |
||
cakelisp | a game development oriented LISP that transpiles to C |
||
2022 | Picolisp | an LLVM-backed runtime |
|
2021 | hedgehog LISP | compiler and interpreter for embedded devices |
|
phel | a Clojure-inspired LISP that runs on top of PHP (of all things) |
||
2020 | wax | A tiny programming language that transpiles to C, C++, Java, TypeScript, Python, C#, Swift, Lua and WebAssembly |
|
eslisp | a JavaScript preprocessor with sexps. |
||
2019 | Armed Bear | An interpreter and compiler that runs on the JVM |
|
Ferret | A subset of Clojure that compiles down to C++ for embedded devices |
||
Carp | another LISP that compiles to C, designed to work well for interactive and performance sensitive use cases like games, sound synthesis and visualizations. |
||
clojerl | Clojure atop Erlang |
||
zylisp | An updated fork of gisp, an early compiler to Go |
||
ale | a LISP environment in Go |
||
2016 | rhine | A Clojure-inspired LISP that targets LLVM |
|
Fennel | A compiler to Lua |
||
Wasp LISP | an interesting twist on special-purpose LISPs |
||
2015 | chlorine | A subset of Clojure that compiles to JavaScript |
|
cormanlisp | For Windows |
||
2014 | Hy | Compiles down to Python AST, with full interop |
|
Pharen | Compiles to PHP |
||
Wisp | Compiles to JavaScript, with Clojure syntax |
||
gisp | Generates Go code via AST mapping |
||
psota | A Clojure compiler that targets the PyPy JIT |
||
l2l | A compiler to Lua |
||
Editors | 2019 | lem | a configurable editor with an optional Electron front-end |
Environments | 2023 | Medley Interlisp | a recreation of the original LISP machine environments |
Interpreters | 2024 | sharpl | a custom Lisp written in C# |
2023 | LCL | An implementation of Common Lisp targeting Lua |
|
lone | designed to run directly on top of the Linux kernel without any dependencies, allows for standalone binaries |
||
nanoclj | a tiny Clojure interpreter |
||
2022 | Arc | a LISP written in Racket |
|
Bel | a LISP written in itself |
||
L1 | A LISP interpreter written in Go |
||
jar.2.c | a mere snippet of C that won the IOCCC contest in… 1989 |
||
lisp-in-go | a 1-page LISP written in Go |
||
minilisp | another small C-based interpreter |
||
otus lisp | like owl Scheme, but with FFI. Has a WASM build. |
||
Z3S5 | written in Go, and designed to be embeddable. Also part of a larger virtual LISP machine project. |
||
2021 | arpilisp | A LISP interpreter for the Raspberry Pi, implemented in a single file of ARM assembly. |
|
planck | A stand-alone ClojureScript REPL for macOS and Linux based on JavaScriptCore. |
||
fe | an 800 LOC C interpreter |
||
Blisp | statically typed, implemented in Rust |
||
sectorlisp | A LISP interpreter that fits into a 512 byte boot sector |
||
2020 | newLISP | Another interpreter |
|
femtolisp | a tiny interpreter written in C |
||
wisp | a tiny C++ implementation |
||
Janet | a modernized LISP dialect with good C interop and a single standalone runtime binary |
||
2019 | Kilo Lisp | a tiny interpreter |
|
Joker | a Clojure interpreter written in Go |
||
2017 | lumen | A hosted LISP for Lua and Javascript |
|
2016 | s9fes | A well-documented interpreter that can run on Plan9 |
|
uLisp | An interpreter for the Arduino, Adafruit M0/M4, Micro:bit, ESP8266/32, RISC-V, RP2040 and Teensy 4.x boards. |
||
2014 | pixie | An RPython-based lightweight LISP |
|
glisp | An embeddable Go interpreter that compiles to bytecode |
||
Libraries | 2020 | puny-gui | a GUI toolkit for Janet |
r-cade | a Racket library for doing simple retro-style games |
||
Operating Systems | 2023 | ChrysaLisp | a fully self-contained hosted cross-platform OS written in LISP |
Reference | 2024 | fennel-static-http | an example for creating a static Fennel binary |
2021 | Common Lisp Quick Reference | ten-page concise, printable reference |
|
Practical Common Lisp | full online book |
||
The Common Lisp Cookbook | community maintained |
||
Tools | slimv | a SLIME equivalent for vim |
|
Alive | VS Code extension |
||
UI | 2024 | clog | a GUI library for Common Lisp |
2021 | A web-based GUI library for Common Lisp |