applicative(A) = [A] | fn(term(), A) | either(term(), A) | maybe(A)
either(A, B) = {error, A} | {ok, B}
fn(A, B, C) = fun((A, B) -> C)
fn(A) = fun(() -> A)
fn(A, B) = fun((A) -> B)
foldable(A) = [A] | maybe(A) | either(term(), A)
functor(A) = [A] | map(A) | fn(term(), A) | either(term(), A) | maybe(A)
map(A) = #{term() := A}
maybe(A) = {just, A} | nothing
monad(A) = [A] | either(term(), A) | maybe(A)
semigroup(A) = [A] | map(A) | either(term(), A) | maybe(A)
traversable(A) = [A] | either(term(), A) | maybe(A)
| append/2 | |
| bind/2 | |
| do/2 | |
| fmap/2 | |
| foldr/3 | |
| liftA2/2 | |
| liftm/2 | |
| liftmz/2 | |
| mod/1 | |
| pure/1 | |
| sequence/1 | |
| then/2 | |
| traverse/2 |
liftA2(A1::applicative(fn(A, B)), A2::applicative(A)) -> applicative(B)
mod(Type::term()) -> atom()
pure(A) -> monad(A) | A
sequence(Traversable::traversable(applicative(A))) -> applicative(traversable(A))
traverse(F::fn(A, applicative(B)), Traversable::traversable(A)) -> applicative(traversable(B))
Generated by EDoc