Simplified test whitespace normalization
[parenscript.git] / README
blobc130c156b541de3e006a0ac11c7aaddc86215580
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
13 overhead:
15   No run-time dependencies:
16     Any piece of Parenscript code is runnable as-is. There are no
17     JavaScript files to include.
18   Native types:
19     Parenscript works entirely with native JavaScript data types. There
20     are no new types introduced, and object prototypes are not
21     touched.
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.
26   Readable code:
27     Parenscript generates concise, formatted, idiomatic JavaScript
28     code. Identifier names are preserved. This enables seamless
29     debugging in tools like Firebug.
30   Efficiency:
31     Parenscript introduces minimal overhead for advanced Common Lisp
32     features. The generated code is almost as fast as hand-written
33     JavaScript.
35 Parenscript is available via Quicklisp: (ql:quickload :parenscript)
37 To run unit tests: (ql:quickload :parenscript.tests)
38                    (parenscript.tests:run-tests)
40 Documentation:
41   See docs/tutorial.html and docs/reference.html
42 Mailing list:
43   parenscript-devel@common-lisp.net
44   https://mailman.common-lisp.net/listinfo/parenscript-devel
45 Web site:
46   http://common-lisp.net/project/parenscript/
47 Source repository:
48   https://gitlab.common-lisp.net/parenscript/parenscript.git
49 License:
50   BSD-3-Clause