node package manager


A JavaScript with Lispy Syntax and Macros


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!forum/lispyscript.

Santosh Rajan santoshrajan.
Balaji Rao [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.