Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/santoshrajan/lispyscript

A javascript with Lispy syntax and macros
https://github.com/santoshrajan/lispyscript

Last synced: 3 months ago
JSON representation

A javascript with Lispy syntax and macros

Awesome Lists containing this project

README

        

# 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](http://www.paulgraham.com/avg.html).

#### Discuss LispyScript at [https://groups.google.com/forum/#!forum/lispyscript](https://groups.google.com/forum/#!forum/lispyscript).

### Contributors

Santosh Rajan [santoshrajan](https://github.com/santoshrajan).
Balaji Rao [balajirrao] (https://github.com/balajirrao).
Irakli Gozalishvili [Gozala](https://github.com/Gozala).
Darren Cruse [darrencruse](https://github.com/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

[nodejs]:http://nodejs.org/
[npm]:http://npmjs.org/ "Node Package Manager"