<commit_before>contracts.coffee
================

contracts.coffee is a dialect of CoffeeScript with contract support.

Contracts allow you to write powerful runtime assertions about your code. 
Like types but less painful, like assert but more useful.

    square :: (Num) -> Num
    square = (x) -> x * x

    # throws a run-time error
    square "a string"   

Documentation, usage, and more examples: http://disnetdev.com/contracts.coffee/

Quick start
===========

Install via npm:

    npm install -g contracts.coffee

Use the compiler:

    coffee -c --contracts /path/to/script.coffee

An alternative to using the --contracts flag is setting this env variable:

    export CONTRACTS_COFFEE_ENABLED=1

If you are running in the browser then you'll need to load the 
contracts library (found in [lib/contracts/contracts.js](https://github.com/disnet/contracts.coffee/tree/master/lib/contracts))

    <script type="text/javascript" src="contracts.js"></script>

If you are running in node.js then you'll need to install the contracts.js package

    npm install contracts.js
<commit_msg>adding install instruction to contracts.js<commit_after>contracts.coffee
================

contracts.coffee is a dialect of CoffeeScript with contract support.

Contracts allow you to write powerful runtime assertions about your code. 
Like types but less painful, like assert but more useful.

    square :: (Num) -> Num
    square = (x) -> x * x

    # throws a run-time error
    square "a string"   

Documentation, usage, and more examples: http://disnetdev.com/contracts.coffee/

Quick start
===========

Install via npm:

    npm install -g contracts.coffee
    npm install contracts.js

Use the compiler:

    coffee -c --contracts /path/to/script.coffee

An alternative to using the --contracts flag is setting this env variable:

    export CONTRACTS_COFFEE_ENABLED=1

If you are running in the browser then you'll need to load the 
contracts library (found in [lib/contracts/contracts.js](https://github.com/disnet/contracts.coffee/tree/master/lib/contracts))

    <script type="text/javascript" src="contracts.js"></script>

If you are running in node.js then you'll need to install the contracts.js package

    npm install contracts.js

{'fraction_non_alphanumeric': 0.10347903657448707, 'fraction_numerical': 0.0008920606601248885, 'mean_word_length': 3.772340425531915, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 11, 'https://': 2, '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': '1389641', 'n_tokens_mistral': 663, 'n_tokens_neox': 629, 'n_words': 245}