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/Scheme implementations I’m keeping an eye on (besides 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 | 2023 | gdlisp | LISP for Godot |
cakelisp | a game development oriented LISP that transpiles to C |
||
2022 | Picolisp | an LLVM-backed runtime |
|
2021 | Kawa | a Scheme that runs on the JVM |
|
hedgehog LISP | compiler and interpreter for embedded devices |
||
ribbit | small and portable Scheme implementation with AOT compilation and 4K footprint |
||
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. |
||
Chez Scheme | a high-performance Scheme compiler |
||
clojerl | Clojure atop Erlang |
||
zylisp | |||
ale | a LISP environment in Go |
||
2018 | gerbil Scheme | a layer over Gambit |
|
2016 | rhine | A Clojure-inspired LISP that targets LLVM |
|
Fennel | A compiler to Lua |
||
Cyclone Scheme | Supports multiple native threads |
||
Larceny Scheme | Compiles to Intel and ARM machine code |
||
Wasp LISP | an interesting twist on special-purpose LISPs |
||
Microscheme | A compiler for the Arduino |
||
Chicken Scheme | One of the most well-known compilers |
||
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 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 |
Interpreters | 2023 | Gauche | an R7RS Scheme 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, but with FFI. Has a WASM build. |
||
owl | a Scheme interpreter written in C, that can apparently also compile to C |
||
Kernel | a Scheme-like dialect of Lisp in which everything is a first-class object. |
||
Z3S5 | written in Go, and designed to be embeddable. Also part of a larger virtual LISP machine project. |
||
2021 | armpit Scheme | an ancient R7RS interpreter |
|
S7 Scheme | a TinyScheme variant designed for embedding into other projects |
||
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 |
||
#Script Lisp | a .NET scripting LISP |
||
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 |
|
schemy | a .NET embeddable Scheme 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 | IronScheme | Runs atop the .NET DLR |
|
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 |
||
2019 | scheme-lib | A set of libraries for Chez |
|
thunderchez | More libraries for Chez Scheme |
||
Operating Systems | 2023 | ChrysaLisp | a fully self-contained hosted cross-platform OS written in LISP |
Reference | 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 |
||
2019 | chez-exe | A tool to generate standalone executables with Chez |
|
UI | 2021 | clog | A web-based GUI library for Common Lisp |