![Immutable Collections For Reason](https://github.com/facebookincubator/immutable-re/raw/master/docs/images/logo-800x215.png?raw=true)
Pure Reason implementation of persistent immutable data structures.
Features
Immutable-re provides a complete set of efficient persistent immutable data
structures for Reason and OCaml,
targeting both OCaml native and byte code compilation modes, as well JavaScript using
BuckleScript.
The api includes concrete implementations of vectors, sets, and maps. Many
implementations support transient mutability
for efficient batch mutations. Additionally Immutable-re provides lazy
functional iterators and sequences, along with type definitions for basic operators
such as equality, comparison, and hashing.
For more details see the API docs.
Installing
Installing via NPM (JS Workflow)
npm install --save immutable-re
Installing immutable
via OPAM (native workflow)
brew update
brew install opam
opam init
opam update
opam switch 4.02.3
eval $(opam config env)
opam install immutable
Contributing to development
brew update
brew install opam
opam init
opam update
opam switch 4.02.3
eval $(opam config env)
git clone git@github.com:facebookincubator/immutable-re.git
cd immutable-re
opam pin add -y immutable .
Status
Immutable-re is under active development and is not yet production ready. We are
releasing this early alpha to get community input and contributions. If you are
interested in contributing please follow the directions here.
For JavaScript developers needing production ready immutable collections,
we recommend using the Reason BuckleScript bindings to Immutable.js.
License
Immutable-re is BSD-licensed. We also provide an additional patent grant.