Common Lisp to JavaScript compiler
License
blakemcbride/parenscript
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This repo was cloned from https://gitlab.common-lisp.net/parenscript/parenscript.git because I was unable to fork the project on that site. My intent is to modernize the generated JavaScript and make it more convenient for general use. This repo is loacated at https://github.com/blakemcbride/parenscript See the file README.1ST Blake McBride blake@mcbridemail.com -------------------------------------------------------------------- Original README Parenscript is a translator from an extended subset of Common Lisp to JavaScript. Parenscript code can run almost identically on both the browser (as JavaScript) and server (as Common Lisp). Parenscript code is treated the same way as Common Lisp code, making the full power of Lisp macros available for JavaScript. This provides a web development environment that is unmatched in its ability to reduce code duplication and provide advanced meta-programming facilities to web developers. At the same time, Parenscript is different from almost all other "language X" to JavaScript translators in that it imposes almost no overhead: No run-time dependencies: Any piece of Parenscript code is runnable as-is. There are no JavaScript files to include. Native types: Parenscript works entirely with native JavaScript data types. There are no new types introduced, and object prototypes are not touched. Native calling convention: Any JavaScript code can be called without the need for bindings. Likewise, Parenscript can be used to make efficient, self-contained JavaScript libraries. Readable code: Parenscript generates concise, formatted, idiomatic JavaScript code. Identifier names are preserved. This enables seamless use of JavaScript debuggers. Efficiency: Parenscript introduces minimal overhead for advanced Common Lisp features. The generated code is almost as fast as hand-written JavaScript. Parenscript is available via Quicklisp: (ql:quickload :parenscript) To run tests: (ql:quickload :parenscript.tests :verbose t) (parenscript.tests:run-tests) The included executable SBCL script ros-tests.lisp uses the roswell implementation launcher [https://github.com/roswell/roswell] to automatically run the Parenscript test suite in SBCL, CLISP, Clozure Common Lisp, Allegro Common Lisp, ABCL, ECL, sequentially in that order. To run the script, first make sure you have roswell installed, then do ./ros-tests.lisp from the directory containing Parenscript. Roswell will automatically install any needed Common Lisp implementations. Contributing: Please send patches and bug reports to the mailing list: parenscript-devel@common-lisp.net Documentation: See docs/tutorial.html and docs/reference.html Mailing list: parenscript-devel@common-lisp.net https://mailman.common-lisp.net/listinfo/parenscript-devel Web site: http://common-lisp.net/project/parenscript/ Source repository: https://gitlab.common-lisp.net/parenscript/parenscript.git License: BSD-3-Clause, see the file COPYING
About
Common Lisp to JavaScript compiler
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published