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