JavaScript Lisp Implementations

See this article for an explanation. Best viewed with JavaScript enabled.

This table was assembled by Moritz Heidkamp. Thanks for contributions and corrections to Bastian Müller, Mario Domenech Goulart, Manuel Serrano, Max Weber, Nicky Nickell, and Eric Bergstrome.

Name Dialect Build Dependencies Runtime Dependencies Compiler Interpreter Interoperability TCO Continuations Macros Hygiene Debugging Activity License Comment
Acheron Lisp Common Lisp Java none
Yes
No
Yes
No
No
Yes
No
No
2011 GPLv3
Not much documentation but this presentation has some details.
BiwaScheme Scheme 188 KiB
No
Yes
Yes
Yes
Yes
Yes
No
Yes
2011 MIT
Mostly R6RS compliant. Features a custom debugger and a few additional libraries.
Caterwaul Custom 60 KiB
Yes
Yes
Yes
No
Yes
Yes
No
Yes
2011 MIT
An extension of JavaScript that provides a Lispy macro system (although I couldn't find documentation on how to actually define macros).
ClojureJS Clojure Clojure none
Yes
No
Yes
No
No
Yes
No
Yes
2011 EPL
Includes utility macros for generating HTML on the client side. Clojure's TCO work-around loop/recur is also supported.
ClojureScript Clojure Clojure 312 KiB
Yes
No
Yes
No
No
Yes
Yes
No
2009 EPL
A compiler that aims to compile Clojure's core.
CPSCM Scheme Chicken Scheme or SISC 116 KiB
Yes
No
No
Yes
Yes
Yes
Yes
No
2007 GPLv2
CPS-based compiler. Can also compile to Common Lisp.
Dmitry Nizhegorodov's Lisp System Common Lisp 44 KiB
Yes
Yes
No
No
No
Yes
No
Yes
2007 non-commercial
A small system that sports macros.
EdgeLisp Common Lisp 92 KiB
Yes
Yes
Yes
No
No
Yes
Yes
Yes
2011 AGPL
Ships a CLOS-like object system.
Fargo Scheme 148 KiB
No
Yes
No
Yes
No
Yes
Yes
Yes
2011 MIT
Can also run on Node.js. Implements Fibers instead of continuations.
GoldenScheme Scheme 8 KiB
No
Yes
No
No
No
No
No
Yes
2008 BSD
Source code comments are in Japanese.
Javathcript Custom 44.9 KiB
No
Yes
Yes
No
No
No
No
Yes
2010 unknown
The code seems to be very modular so it is probably a good canidate for building custom Lisp systems.
Jisp Custom 7.5 KiB
No
Yes
Yes
No
No
No
No
Yes
2007 unknown
Uses brackets instead of parentheses and commas to separate list elements. Seems to be in a very early development stage, .
js-lisp Common Lisp 52 KiB
No
Yes
No
No
No
No
No
Yes
2009 Apache-2.0
A toy implementation that uses a JS/CC grammar to generate the parser.
js-scheme Scheme 196 KiB
No
Yes
Yes
No
Yes
No
No
No
2010 GPLv3
Mostly R5RS compliant. Only supports escape continuations in latest version.
JScreme Scheme 68 KiB
Yes
Yes
Yes
No
No
No
No
No
2010 unknown
Guile is required for bootstrapping but afterwards JScreme is able to compile itself.
jsScheme Scheme 200 KiB
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
2006 GPLv3
Not really a library, only distributed embedded in a web page. R5RS compliant.
lisp2js Common Lisp Common Lisp none
Yes
No
Yes
No
No
No
No
Yes
2010 GPLv3
No documentation, pretty bare bones.
Marc Belmont's Lisp Common Lisp 6.4 KiB
Yes
Yes
Yes
No
No
No
No
Yes
2010 GPLv2
Very small and primitive implementation which could perhaps be extended into a more comprehensive system. Uses jQuery.
nconc Scheme 132 KiB
No
Yes
Yes
Yes
Yes
No
No
No
2011 GPLv3
Uses Underscore.js for sequence operations. Clojure is needed for buliding the runtime.
Parenscript Common Lisp Common Lisp none
Yes
No
Yes
No
No
Yes
No
Yes
2011 BSD
One of the more mature implementations. Implements namespaces, has an optional object system and some SLIME support.
Ralph Dylan python, node.js 36 KiB
Yes
Yes
Yes
No
No
Yes
No
Yes
2011 BSD
Implements the original prefix notated S-expression Dylan minus multi-methods and multiple inheritance.
scheme2js Scheme Bigloo Scheme 136 KiB
Yes
No
No
Yes
Yes
Yes
No
Yes
2011 GPLv3
Mostly R5RS compliant. Runtime dependencies can be stripped down by disabling continuations.
Scriptjure Clojure Clojure none
Yes
No
Yes
No
No
No
No
Yes
2011 EPL
Is meant to be used in Clojure applications to generate JavaScript.
Sibilant Common Lisp node.js, npm 76 KiB
Yes
Yes
Yes
No
No
Yes
No
Yes
2011 MIT
JSON literals. Doesn't have "let"
Spock Scheme Chicken Scheme 84 KiB
Yes
No
Yes
Yes
Yes
Yes
Yes
Yes
2011 BSD
Mostly R5RS compliant. The compiler uses the Cheney-on-the-MTA compilation strategy. Internet Explorer is not fully supported.
substandard-lisp Standard Lisp 136 KiB
No
Yes
Yes
No
No
No
No
No
2011 GPLv3
Some parts are written in CoffeeScript. Macros are almost ready.
The Little JavaScripter Scheme 20 KiB
No
Yes
No
No
No
No
No
Yes
2011 unknown
Based on the implementation given in Chapter 10 of The Little Schemer and thus very simple.
WdS17 Custom none
Yes
Yes
Yes
Yes
No
Yes
No
No
2010 public domain
Used to make HTML canvas games like Henri's Reef.