Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A javascript with Lispy syntax and macros
JavaScript LiveScript HTML
branch: master

Merge pull request #55 from darrencruse/lispy-r-use-require-extension

new lispy watch command and enhancements to lispy run
latest commit ee9e3e25fc
@santoshrajan authored


For Overview, documentation, usage, try it, examples see

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

Note to Contributors

To build all generated files and run the unit tests do:

npm run-script prepublish

If browserify fails to find your lispyscript module - Consider adding the location of your lispyscript repo directory on your $NODE_PATH.

Change Log

Version 0.3.6, 11 Jul 2013

Simplified browser usage.

Version 0.3.5, 1 Jul 2013

Added browser example in examples folder.

Version 0.3.4, 29 Jun 2013

Added browser support for lispyscript via browserify.

Version 0.3.3, 26 Jun 2013

Added support for requiring '.ls' files.
Require lispyscript files in javascript

Version 0.3.2, 24 Jun 2013

Removed dependency on amd-loader. Use browserify for browser.
Removed dependency on underscorejs
Refactored code

Version 0.3.1, 4 May 2013

var now supports multiple assignments
Refactored array and object to generate cleaner code
Overall cleaner code generated

Version 0.3.0, 24 Apr 2013

Dropped support for older browsers. (Cleaner code)
Minor bug fix

Version 0.2.9, 14 Oct 2012

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

Version 0.2.8, 8 Oct 2012

Added continuation monad
minor bug fixes

Version 0.2.7, 28 Sep 2012

Added method chaining
Changed cond statement
Added homoiconic expressions for recursive macros
Improved macro error checking

Version 0.2.6, 26 Sep 2012

Added Monads
Added cond (switch) statement

Version 0.2.5, 20 Sep 2012

Bug Fixes

Version 0.2.4, 18 Sep 2012

Added array and object keywords.
Macros follow guidelines now.

Version 0.2.3, 15 Sep 2012

Added Callback Sequence to avoid nested callbacks.
Added Test features for language.
Added Test Suite.
Fixed Browser Compatibility issues.
Bug fixes

Version 0.2.2, 9 Sep 2012

Added tail call optimised loop recur construct
Bug fixes

Version 0.2.1, 12 Aug 2012

Added to docs
Edited docs to for latest version
Added to examples
Minor bug fixes

Version 0.2.0, 11 Aug 2012

Bug fix for usage in browser.

Version 0.1.9, 9 Aug 2012

Added html templates
Added template-repeat-key
Changed template syntax

Version 0.1.8, 6 Aug 2012

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.

Initial Release, Version 0.1.6, Jun 20, 2012

Something went wrong with that request. Please try again.