Skip to content
This repository was archived by the owner on Feb 20, 2019. It is now read-only.

facebookarchive/immutable-re

Repository files navigation

Immutable Collections For Reason

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)

# On macOS, install opam via Homebrew:
brew update
brew install opam
# On Linux, see here (you will need opam >= 1.2.2): http://opam.ocaml.org/doc/Install.html

opam init
# Add this to your ~/.bashrc (or ~/.zshrc):
#   eval $(opam config env)

opam update
opam switch 4.02.3
eval $(opam config env)
opam install immutable

Contributing to development

# On macOS, install opam via Homebrew:
brew update
brew install opam
# On Linux, see here (you will need opam >= 1.2.2): http://opam.ocaml.org/doc/Install.html

opam init
# Add this to your ~/.bashrc (or ~/.zshrc):
#   eval $(opam config env)

opam update
opam switch 4.02.3
eval $(opam config env)
git clone [email protected]: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.

About

Immutable collections for the Reason programming language.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 7

Languages