1 Parenscript is a translator from an extended subset of Common Lisp to
2 JavaScript. Parenscript code can run almost identically on both the
3 browser (as JavaScript) and server (as Common Lisp).
5 Parenscript code is treated the same way as Common Lisp code, making
6 the full power of Lisp macros available for JavaScript. This provides
7 a web development environment that is unmatched in its ability to
8 reduce code duplication and provide advanced meta-programming
9 facilities to web developers.
11 At the same time, Parenscript is different from almost all other
12 "language X" to JavaScript translators in that it imposes almost no
15 No run-time dependencies:
16 Any piece of Parenscript code is runnable as-is. There are no
17 JavaScript files to include.
19 Parenscript works entirely with native JavaScript data types. There
20 are no new types introduced, and object prototypes are not
22 Native calling convention:
23 Any JavaScript code can be called without the need for
24 bindings. Likewise, Parenscript can be used to make efficient,
25 self-contained JavaScript libraries.
27 Parenscript generates concise, formatted, idiomatic JavaScript
28 code. Identifier names are preserved. This enables seamless
29 use of JavaScript debuggers.
31 Parenscript introduces minimal overhead for advanced Common Lisp
32 features. The generated code is almost as fast as hand-written
35 Parenscript is available via Quicklisp:
36 (ql:quickload :parenscript)
39 (ql:quickload :parenscript.tests)
40 (parenscript.tests:run-tests)
43 Please send patches and bug reports to the mailing list:
44 parenscript-devel@common-lisp.net
47 See docs/tutorial.html and docs/reference.html
49 parenscript-devel@common-lisp.net
50 https://mailman.common-lisp.net/listinfo/parenscript-devel
52 http://common-lisp.net/project/parenscript/
54 https://gitlab.common-lisp.net/parenscript/parenscript.git
56 BSD-3-Clause, see the file COPYING