lispyscript

A JavaScript with Lispy Syntax and Macros

LispyScript

http://lispyscript.com

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
  • Unit test feature

LispyScript was inspired by Beating the averages.

Discuss LispyScript at https://groups.google.com/forum/#!forum/lispyscript.

Santosh Rajan santoshrajan.
Irakli Gozalishvili Gozala.

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.