<commit_before># WISP

[![Build Status](https://secure.travis-ci.org/Gozala/wisp.png)](http://travis-ci.org/Gozala/wisp)

_wisp_ is a [homoiconic][homoiconicity] JavaScript dialect with [Clojure][]
syntax, [s-expressions][] and [macros][]. Unlike [ClojureScript][], _wisp_
does not depend on the JVM and is completely self-hosted, embracing
native JavaScript data structures for better interoperability.

The main goal of _wisp_ is to provide a rich subset of Clojure(Script) so 
that packages written in _wisp_ can work seamlessly with Clojure(Script) and
JavaScript without data marshalling or code changes.

_wisp_ also does its best to compile down to JavaScript you would have written
by hand - think of _wisp_ as [markdown] for JavaScript programming, but with
the added subtlety of LISP S-expressions, [homoiconicity][homoiconicity] and 
powerful [macros] that make it the easiest way to write JavaScript.

![meta](http://upload.wikimedia.org/wikipedia/en/b/ba/DrawingHands.jpg)

# Try _Wisp_

You can try _wisp_ on your browser by [trying the interactive compiler](http://jeditoolkit.com/try-wisp/) or [an online REPL](http://jeditoolkit.com/interactivate-wisp) with syntax highlighting.

# Install

You can install _wisp_ locally via `npm` by doing:

    npm install -g wisp

...and then running `wisp` to get a REPL. To compile standalone `.wisp` files, simply do:

    cat in.wisp | wisp > out.js


# Language Essentials

## Data structures


#### nil

`nil` is just like JavaScript `undefined` with the difference that it<commit_msg>Readme: provide a link to the try-wisp repository<commit_after># WISP

[![Build Status](https://secure.travis-ci.org/Gozala/wisp.png)](http://travis-ci.org/Gozala/wisp)

_wisp_ is a [homoiconic][homoiconicity] JavaScript dialect with [Clojure][]
syntax, [s-expressions][] and [macros][]. Unlike [ClojureScript][], _wisp_
does not depend on the JVM and is completely self-hosted, embracing
native JavaScript data structures for better interoperability.

The main goal of _wisp_ is to provide a rich subset of Clojure(Script) so 
that packages written in _wisp_ can work seamlessly with Clojure(Script) and
JavaScript without data marshalling or code changes.

_wisp_ also does its best to compile down to JavaScript you would have written
by hand - think of _wisp_ as [markdown] for JavaScript programming, but with
the added subtlety of LISP S-expressions, [homoiconicity][homoiconicity] and 
powerful [macros] that make it the easiest way to write JavaScript.

![meta](http://upload.wikimedia.org/wikipedia/en/b/ba/DrawingHands.jpg)

# Try _Wisp_

You can try _wisp_ on your browser by [trying the interactive compiler](http://jeditoolkit.com/try-wisp/)
([repo](https://github.com/Gozala/try-wisp)) or [an online REPL](http://jeditoolkit.com/interactivate-wisp)
with syntax highlighting.

# Install

You can install _wisp_ locally via `npm` by doing:

    npm install -g wisp

...and then running `wisp` to get a REPL. To compile standalone `.wisp` files, simply do:

    cat in.wisp | wisp > out.js


# Language Essentials

## Data structures


#### nil

`nil` is just like JavaScript `undefined` with the difference that it
{'fraction_non_alphanumeric': 0.09555345316934721, 'fraction_numerical': 0.0, 'mean_word_length': 4.664285714285715, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 3, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2576618', 'n_tokens_mistral': 1025, 'n_tokens_neox': 988, 'n_words': 377}