Markup and spelling corrections to the reference manual
[parenscript.git] / README
blob8abd2b5a59b9fd3dc71fb906773cfc13db0257ff
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 metaprogramming
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 runtime 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 datatypes. 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 Web site:          http://common-lisp.net/project/parenscript/
36 Source repository: https://github.com/vsedach/Parenscript
37 License:           BSD (see COPYING file)