<commit_before>Quick Start
===========

Get GHC 7.10.2 ([MinGHC](https://www.haskell.org/downloads/windows) on Windows) and make sure that `happy` is installed. On linux you may need to install a package like `libtinfo-dev` to make the Haskell `terminfo` package work.

Now run the following to install the current snapshot of the `master` branch:
```
$ cabal install http://ghcjs.luite.com/master.tar.gz
$ ghcjs-boot
```


Haskell to JavaScript compiler
==============================

GHCJS is a Haskell to JavaScript compiler that uses the GHC API.

GHCJS supports many modern Haskell features, including:

 * All type system extensions supported by GHC
 * Lightweight preemptive threading with blackholes, MVar, STM, asynchronous exceptions
 * Weak references, CAF deallocation, StableName, StablePtr
 * Unboxed arrays, emulated pointers
 * Integer support through [JSBN](http://www-cs-students.stanford.edu/~tjw/jsbn/), 32 and 64 bit signed and unsigned arithmetic (`Word64`, `Int32` etc.)
 * Cost-centres, stack traces
 * Cabal support, GHCJS has its own package database

And some JavaScript-specific features:

 * new JavaScriptFFI extension, with convenient import pattens, asynchronous FFI and a JSVal FFI type,
 * synchronous and asynchronous threads.

Installation
============

GHCJS can be installed with GHC 7.10.2 or later.

### Requirements

 - GHC 7.10.2 or higher
 - Cabal 1.22.4 and cabal-install 1.22.3 or higher
 - alex and happy
 - [node.js](http://nodejs.org) 0.10.28 or higher. GHCJS uses node.js for its build system and for running Template Haskell.

### Platform-specific preparation

#### Linux / OS X<commit_msg>Fix typo in README.markdown<commit_after>Quick Start
===========

Get GHC 7.10.2 ([MinGHC](https://www.haskell.org/downloads/windows) on Windows) and make sure that `happy` is installed. On linux you may need to install a package like `libtinfo-dev` to make the Haskell `terminfo` package work.

Now run the following to install the current snapshot of the `master` branch:
```
$ cabal install http://ghcjs.luite.com/master.tar.gz
$ ghcjs-boot
```


Haskell to JavaScript compiler
==============================

GHCJS is a Haskell to JavaScript compiler that uses the GHC API.

GHCJS supports many modern Haskell features, including:

 * All type system extensions supported by GHC
 * Lightweight preemptive threading with blackholes, MVar, STM, asynchronous exceptions
 * Weak references, CAF deallocation, StableName, StablePtr
 * Unboxed arrays, emulated pointers
 * Integer support through [JSBN](http://www-cs-students.stanford.edu/~tjw/jsbn/), 32 and 64 bit signed and unsigned arithmetic (`Word64`, `Int32` etc.)
 * Cost-centres, stack traces
 * Cabal support, GHCJS has its own package database

And some JavaScript-specific features:

 * new JavaScriptFFI extension, with convenient import patterns, asynchronous FFI and a JSVal FFI type,
 * synchronous and asynchronous threads.

Installation
============

GHCJS can be installed with GHC 7.10.2 or later.

### Requirements

 - GHC 7.10.2 or higher
 - Cabal 1.22.4 and cabal-install 1.22.3 or higher
 - alex and happy
 - [node.js](http://nodejs.org) 0.10.28 or higher. GHCJS uses node.js for its build system and for running Template Haskell.

### Platform-specific preparation

#### Linux / OS X
{'fraction_non_alphanumeric': 0.11670203091846014, 'fraction_numerical': 0.020006062443164597, 'mean_word_length': 4.41871921182266, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7437168', 'n_tokens_mistral': 1051, 'n_tokens_neox': 933, 'n_words': 388}