1 ## What is Parenscript?
2 Parenscript is a translator from an extended subset of Common Lisp to
3 JavaScript. Parenscript code can run almost identically on both the
4 browser (as JavaScript) and server (as Common Lisp).
6 Parenscript code is treated the same way as Common Lisp code, making
7 the full power of Lisp macros available for JavaScript. This provides
8 a web development environment that is unmatched in its ability to
9 reduce code duplication and provide advanced metaprogramming
10 facilities to web developers.
14 (ql:quickload :parenscript)
16 or download the [latest release](https://common-lisp.net/project/parenscript/release/parenscript-latest.tgz)
19 * [Reference Manual](https://common-lisp.net/project/parenscript/reference.html)
20 * [Tutorial](https://common-lisp.net/project/parenscript/tutorial.html)
22 ## What's the difference?
23 Parenscript is different from almost all other
24 "language X" to JavaScript translators in that it imposes almost no
27 ##### No runtime dependencies
28 Any piece of Parenscript code is runnable as-is. There are no
29 JavaScript files to include.
33 Parenscript works entirely with native JavaScript datatypes. There
34 are no new types introduced, and object prototypes are not
37 ##### Native calling convention
38 Any JavaScript code can be called without the need for
39 bindings. Likewise, Parenscript can be used to make efficient,
40 self-contained JavaScript libraries.
43 Parenscript generates concise, formatted, idiomatic JavaScript
44 code. Identifier names are preserved. This enables seamless
45 debugging in tools like Firebug.
48 Parenscript introduces minimal overhead for advanced Common Lisp
49 features. The generated code is almost as fast as hand-written
53 * [Web site](http://common-lisp.net/project/parenscript/)
54 * [Source repository](https://github.com/vsedach/Parenscript)
57 BSD (see COPYING file)