• Stars
    star
    573
  • Rank 77,865 (Top 2 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 12 years ago
  • Updated almost 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A javascript with Lispy syntax and macros

LispyScript

This package is no longer supported. Do not use.

A Javascript with Lispy syntax and Macros!

Lispyscript is Javascript using a 'Lispy' syntax, and compiles to Javascript.

Features

  • 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.

Contributors

Santosh Rajan santoshrajan.
Balaji Rao [balajirrao] (https://github.com/balajirrao).
Irakli Gozalishvili Gozala.
Darren Cruse darrencruse

Note to Contributors

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.

Change Log

Version 1.0.0, 6 Nov 2015

Added sitemap support. Added in browser repl. Added watch option to lispy command. Improved run option for lispy command.

Simplified browser usage.

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