Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Official Parenscript repository:
Common Lisp Emacs Lisp
Latest commit b51f35a @agrostis agrostis Additions to 116f9ca, to not replace Φ() with Φ.call(this) unless Φ r…
…efers to this. Also, fixed / added tests.


Parenscript is a translator from an extended subset of Common Lisp to
JavaScript. Parenscript code can run almost identically on both the
browser (as JavaScript) and server (as Common Lisp).

Parenscript code is treated the same way as Common Lisp code, making
the full power of Lisp macros available for JavaScript. This provides
a web development environment that is unmatched in its ability to
reduce code duplication and provide advanced metaprogramming
facilities to web developers.

At the same time, Parenscript is different from almost all other
"language X" to JavaScript translators in that it imposes almost no

No runtime dependencies:
  Any piece of Parenscript code is runnable as-is. There are no
  JavaScript files to include.
Native types:
  Parenscript works entirely with native JavaScript datatypes. There
  are no new types introduced, and object prototypes are not
Native calling convention:
  Any JavaScript code can be called without the need for
  bindings. Likewise, Parenscript can be used to make efficient,
  self-contained JavaScript libraries.
Readable code:
  Parenscript generates concise, formatted, idiomatic JavaScript
  code. Identifier names are preserved. This enables seamless
  debugging in tools like Firebug.
  Parenscript introduces minimal overhead for advanced Common Lisp
  features. The generated code is almost as fast as hand-written

Web site:
Source repository:
License:           BSD (see COPYING file)
Something went wrong with that request. Please try again.