fantasy-derivations
v0.0.0
Published
The fantasy-land spec allows for ADTs not to define certain functions when they are derivable from those they must define. This module is for ensuring you can always use a method if it is defined or derivable
Downloads
4
Maintainers
Readme
fantasy-derivations
The fantasy-land spec only requires ADTs to define the minimum
set of methods necessary for its type. Others can be derived. Fantasyland
gives the code necessary for the derivations, but leaves it up to either the
implementer or consumer to put them to use. fantasy-derivations
allows you to
access methods on various ADTs that can support them without worrying whether
they are in fact defined.
Example
var fallback = require('fantasy-derivations')
var monad = require('some-monad-library-with-only-chain-defined')
var my_monad = monad.of(0)
fallback('map', my_monad)(function (n) { return n + 1 })
// monad.of(1)
API
The exported function takes a string (a method name) and an ADT and does its best to return a function for that ADT matching spec.