Lispyscript is Javascript using a 'Lispy' syntax, and compiles to Javascript.
- Javscript Semantics
- Macros
- Tail Call Optimization
- Templates
- Callback Sequence (avoid nested callbacks)
- Monads
- Run in browser
- Server-side and Browser-side REPLs
- Unit test feature
LispyScript was inspired by Beating the averages.
Discuss LispyScript at https://groups.google.com/forum/#!forum/lispyscript.
Santosh Rajan santoshrajan.
Balaji Rao [balajirrao] (https://github.com/balajirrao).
Irakli Gozalishvili Gozala.
Darren Cruse darrencruse
To build and run the tests do:
npm test
To build all generated files (including the browser bundle) do:
npm run-script prepublish
Note if browserify fails to find your lispyscript module - Consider adding the location of your lispyscript repo directory on your $NODE_PATH.
Added sitemap support. Added in browser repl. Added watch option to lispy command. Improved run option for lispy command.
Simplified browser usage.
Simplified browser usage.
Added browser example in examples folder.
Added browser support for lispyscript via browserify.
Added support for requiring '.ls' files.
Require lispyscript files in javascript
Removed dependency on amd-loader. Use browserify for browser.
Removed dependency on underscorejs
Refactored code
var
now supports multiple assignments
Refactored array
and object
to generate cleaner code
Overall cleaner code generated
Dropped support for older browsers. (Cleaner code)
Minor bug fix
Added more options to lispy command
Added arrayInit, arrayInit2d, each2d
Added breakout game example
Added shortcut macros for browser usage
Bug fix for division operator
Added continuation monad
minor bug fixes
Added method chaining
Changed cond statement
Added homoiconic expressions for recursive macros
Improved macro error checking
Added Monads
Added cond (switch) statement
Bug Fixes
Added array and object keywords.
Macros follow guidelines now.
Added Callback Sequence to avoid nested callbacks.
Added Test features for language.
Added Test Suite.
Fixed Browser Compatibility issues.
Bug fixes
Added tail call optimised loop recur construct
Bug fixes
Added to docs
Edited docs to for latest version
Added to examples
Minor bug fixes
Bug fix for usage in browser.
Added html templates
Added template-repeat-key
Changed template syntax
Changed comments from "#" to ";".
Made LispyScript browser compliant.
Simplified LispyScript installation.
Added support for stdin -> compile -> stdout.
Added 'template-repeat'.
Added setting array/object elements.
Added chatserver example.
Added a simple Twitter example using expressjs and lispyscript templates.