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: fantasyland/fantasy-identities
† Currently only available as part of Sanctuary.
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;