ParenScript

A small Lispy language that can be compiled to JavaScript

Introduction

ParenScript is a small Lispy language that can be compiled to JavaScript. It also comes with client-side HTML and CSS generation libraries. This approach simplifies the development of web applications by enabling all components of the application to be written in Lisp, so that HTML, CSS and JavaScript code can all be generated with the full power of Lisp and its macros.

At the same time, ParenScript strives to produce maximally readable JavaScript with the absolute minimum overhead for advanced Lisp features, which sets it apart from other JavaScript generation tools. This enables straightforward, surprise-free debugging in tools like Firebug, and painless integration with JavaScript libraries such as Prototype.

Download

The latest ParenScript tarball release is as of November 4, 2007, and can be downloaded here. Older versions can be downloaded from the release directory.

ParenScript is also available via ASDF-Install: (asdf-install:install :parenscript)

Thanks to Luca Capello, users of the Debian GNU/Linux system can install the cl-parenscript Debian package by typing the following:

apt-get install cl-parenscript

Manual

The ParenScript manual is split into three parts which are available in PDF format:

Repository

You'll need git to work with the ParenScript repository. Once you have git installed, you can clone the repository with:

git clone http://common-lisp.net/project/parenscript/git/parenscript

The old darcs ParenScript repository is located at http://common-lisp.net/project/parenscript/darcs/parenscript/. This repository no longer receives updates and will eventually be removed.

Mailing Lists

Related Projects

Suave is a set of tools for developing semantic web applications, and includes various extensions to ParenScript, including the ParenScript Object System, a CLOS-like object system for ParenScript that runs in the browser.

CL-JSON, a JSON parser and generator in Common Lisp, makes use of ParenScript.

UnCommon Web, a web development framework, uses ParenScript for JavaScript generation.

Project members

ParenScript is currently maintained by Vladimir Sedach. It was originally written by Manuel Odendahl and Edward Marco Baringer.

License

ParenScript is licensed under the terms of the BSD license. Details are contained within the COPYING file, included with the distribution.

The license was modified to reflect that Manuel Odendahl and Edward Marco Baringer, not the Regents of the University of California, are the authors.