Fantasy Land compatible types for easy integration with Ramda.
Ramda-Fantasy is no longer developed. There are a number of excellent libraries providing algebraic datatypes in JavaScript. The existing npm releases of Ramda-Fantasy will remain available indefinitely.
We recommend a number of alternative libraries such as Sanctuary, Folktale, Fluture, and Fantasy-Land.
Specifically, we suggest these replacements:
- Maybe: sanctuary-js/sanctuary-maybe
- Either: sanctuary-js/sanctuary-either
- Future: fluture-js/Fluture
- State: fantasyland/fantasy-states
- Tuple: fantasyland/fantasy-tuples
- Reader: fantasyland/fantasy-readers
- IO: fantasyland/fantasy-io
- Identity: sanctuary-js/sanctuary-identity
| Name | Setoid | Semigroup | Functor | Applicative | Monad | Foldable | ChainRec |
|---|---|---|---|---|---|---|---|
| Either | ✔︎ | ✔︎ | ✔︎ | ✔︎ | ✔︎ | ||
| Future | ✔︎ | ✔︎ | ✔︎ | ✔︎ | |||
| Identity | ✔︎ | ✔︎ | ✔︎ | ✔︎ | ✔︎ | ||
| IO | ✔︎ | ✔︎ | ✔︎ | ✔︎ | |||
| Maybe | ✔︎ | ✔︎ | ✔︎ | ✔︎ | ✔︎ | ✔︎ | ✔︎ |
| Reader | ✔︎ | ✔︎ | ✔︎ | ||||
| Tuple | ✔︎ | ✔︎ | ✔︎ | ||||
| State | ✔︎ | ✔︎ | ✔︎ | ✔︎ |
Access like so:
var Either = require('ramda-fantasy').Either;