Fix symbol conversion in example code
[parenscript.git] / README.md
blob0e77f52feed4d20174094ec680fd2eccf44dca29
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.
12 ## Installation
13 ```lisp
14 (ql:quickload :parenscript)
15 ```
16 or download the [latest release](https://common-lisp.net/project/parenscript/release/parenscript-latest.tgz)
18 ## Documentation
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
25 overhead:
27 ##### No runtime dependencies
28   Any piece of Parenscript code is runnable as-is. There are no 
29   JavaScript files to include.
32 ##### Native types
33   Parenscript works entirely with native JavaScript datatypes. There
34   are no new types introduced, and object prototypes are not
35   touched.
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.
42 ##### Readable code
43   Parenscript generates concise, formatted, idiomatic JavaScript
44   code. Identifier names are preserved. This enables seamless
45   debugging in tools like Firebug.
47 ##### Efficiency
48   Parenscript introduces minimal overhead for advanced Common Lisp
49   features. The generated code is almost as fast as hand-written
50   JavaScript.
52 ## Links
53 * [Web site](http://common-lisp.net/project/parenscript/)
54 * [Source repository](https://github.com/vsedach/Parenscript)
56 ## License
57 BSD (see COPYING file)