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, Eric Bergstrome, Matt Gadda, Steffen Bruchmann, and Vladimir Sedach.

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.
Cell Custom 60 KiB
No
Yes
No
No
No
No
No
No
2012 EPL
A toy dialect based on the original Lisp specification, borrowing some ideas from Clojure.
ClojureJS Clojure Clojure none
Yes
No
Yes
No
No
Yes
No
Yes
2012 EPL
Includes utility macros for generating HTML on the client side. Clojure's TCO work-around loop/recur is also supported.
ClojureScript Clojure Clojure 279 KiB
Yes
No
Yes
No
No
Yes
Yes
No
2012 EPL
The compiler is designed to emit JavaScript code which is compatible with the advanced compilation mode of the Google Closure optimizing compiler. The runtime dependency size is calculated without any optimizations.
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.
emuLisp PicoLisp 52 KiB
No
Yes
No
No
No
Yes
No
No
2011 unknown
Only a subset of PicoLisp is implemented. Note that macros in PicoLisp are really fexprs.
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.
JavaScriptScheme Scheme Gambit-C 60 KiB
Yes
No
No
Yes
Yes
Yes
No
No
2008 unknown
A continuation-passing style compiler that provides green threads.
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.
JSGEN Custom Common Lisp none
Yes
No
Yes
No
No
Yes
No
Yes
2006 BSD
An S-expression notation for JavaScript that comes with an extension for AllegroServe.
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. Seems to have vanished from the web as of 2012.
Lispscript Custom Common Lisp none
Yes
No
Yes
No
No
Yes
No
Yes
2006 BSD
An S-expression notation for JavaScript that comes with an extension for AllegroServe.
LispyScript Custom node.js 16 KiB
Yes
Yes
Yes
No
No
Yes
No
Yes
2012 MIT
A Lisp syntax for JavaScript which allows inline mixing with JavaScript literals. It claims TCO but it's limited to the loop form.
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
2012 BSD
One of the more mature implementations. Implements namespaces, has an optional object system and some SLIME support.
Ralph Dylan node.js 196 KiB
Yes
Yes
Yes
Yes
No
Yes
Yes
Yes
2012 MIT
Implements the original prefix notated S-expression Dylan minus multi-methods and multiple inheritance. A browser based IDE is available.
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"
SLip Common Lisp 212 KiB
Yes
Yes
Yes
Yes
Yes
Yes
No
No
2007 unknown
Sports a custom multi-threading system and comes with a TinyCLOS port, a basic FORMAT implementation and a Ymacs-based development environment.
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.