Sanctuary ADT Matrix
Usage:
$ npx sanctuary-adt-matrix
Type Class | Pair | Maybe | Either | Future |
---|---|---|---|---|
Setoid | ||||
Ord | ||||
Semigroupoid | ||||
Category | ||||
Semigroup | ||||
Monoid | ||||
Group | ||||
Filterable | ||||
Functor | ||||
Bifunctor | ||||
Profunctor | ||||
Apply | ||||
Applicative | ||||
Chain | ||||
ChainRec | ||||
Monad | ||||
Alt | ||||
Plus | ||||
Alternative | ||||
Foldable | ||||
Traversable | ||||
Extend | ||||
Comonad | ||||
Contravariant |
Using the matrix API
Test Sanctuary's Algebraic Data Types (ADT) for Type Class support.
The API is unstable and will probably change between minor versions.
const { adts, typeClassTests } = require ('sanctuary-adt-matrix');
// adts :: Array (Array (String Adt))
[
['Pair' , Adt],
['Maybe' , Adt],
['Either', Adt],
['Future', Adt]
]
// typeClassTests :: Array (Array (String Adt) -> Array (String))
typeClassTests [0] (adts) // -> [ 'Setoid', '✅', '✅', '✅', '❌' ]