<commit_before># Coco
is a [CoffeeScript](http://coffeescript.org) dialect that aims to be more radical and practical.

## Why
On its way to hide bad parts of JavaScript, CoffeeScript accumulated its own:
horrible variable scope, confusing/pointless keywords, awkward ranges,
long extension, [and so on](https://github.com/satyr/coco/wiki/wtfcs).
Coco tries to amend them, entwining good parts of both.

## Principles
- Respect JavaScript/ECMAScript semantics.
- Die for [DRY](http://en.wikipedia.org/wiki/Don%27t_repeat_yourself).
- Performance over readability.
- Perl over Ruby.
- Reserve less keywords.
- Write less punctuations.

## Differences
- [Additions](https://github.com/satyr/coco/wiki/additions)
- [Improvements](https://github.com/satyr/coco/wiki/improvements)
- [Incompatibilities](https://github.com/satyr/coco/wiki/incompatibilities)

## Installation

### on [node.js](http://nodejs.org)

    git clone git://github.com/satyr/coco.git && cd coco && bin/coke i

### via [npm](https://github.com/isaacs/npm#readme)

    npm i coco

## Help

    coco -h; coke

## Changelog

### 0.4.2b
- Enabled:
-- ADI on `?.`
-- ACI on `++`/`--`
-- _conditional_ compound destructuring assignments

### 0.4.1<commit_msg>readme: more links, less blanks<commit_after># Coco
is a [CoffeeScript](http://coffeescript.org) dialect that aims to be more radical and practical.

## Why
On its way to hide JavaScript's bad parts, CoffeeScript has accumulated own quirks:
[horrible variable scope](https://github.com/jashkenas/coffee-script/issues/712),
[awkward ranges](https://github.com/jashkenas/coffee-script/issues/746),
confusing/pointless keywords, long extension,
[and so on](https://github.com/satyr/coco/wiki/wtfcs).
Coco tries to amend them, entwining good parts of both.

## Principles
- Respect JavaScript/ECMAScript semantics.
- Die for [DRY](http://en.wikipedia.org/wiki/Don%27t_repeat_yourself).
- Performance over readability.
- Perl over Ruby.
- Reserve less keywords.
- Write less punctuations.

## Differences
- [Additions](https://github.com/satyr/coco/wiki/additions)
- [Improvements](https://github.com/satyr/coco/wiki/improvements)
- [Incompatibilities](https://github.com/satyr/coco/wiki/incompatibilities)

## Installation

### on [node.js](http://nodejs.org)
`git clone git://github.com/satyr/coco.git && cd coco && bin/coke i`

### via [npm](https://github.com/isaacs/npm#readme)
`npm i coco`

## Changelog

### 0.4.2b
- Enabled:
  - ADI on `?.`
  - ACI on `++`/`--`
  - _conditional_ compound destructuring assignments
  - colors and tab completion in REPL

### 0.4.1
{'fraction_non_alphanumeric': 0.1511403169694627, 'fraction_numerical': 0.008504058755315036, 'mean_word_length': 4.176, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 12, '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': '6970521', 'n_tokens_mistral': 922, 'n_tokens_neox': 875, 'n_words': 213}