Behaviours: do_applicative, do_foldable, do_functor, do_monad, do_monoid, do_semigroup, do_traversable.
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)
maybe(A) = {just, A} | nothing
monad(A) = [A] | either(term(), A) | maybe(A)
append/2 | |
bind/2 | |
do/2 | |
either/3 | |
errors/1 | |
fmap/2 | |
foldr/3 | |
from_error/2 | |
from_ok/2 | |
is_error/1 | |
is_ok/1 | |
lift/1 | |
liftA2/2 | |
liftm/2 | |
mempty/0 | |
oks/1 | |
partition/1 | |
pure/1 | |
sequence/1 | |
then/2 | |
traverse/2 |
errors(Eithers::[either(A, term())]) -> [A]
from_error(A, Either::either(A, term())) -> A
from_ok(B, Either::either(term(), B)) -> B
is_error(Either::either(term(), term())) -> boolean()
is_ok(Either::either(term(), term())) -> boolean()
mempty() -> either(atom(), term())
oks(Eithers::[either(term(), B)]) -> [B]
partition(Eithers::[either(A, B)]) -> {[A], [B]}
pure(B) -> either(term(), B)
sequence(Either::either(A, applicative(B))) -> applicative(either(A, B))
traverse(F::fn(A, applicative(B)), Either::either(A, B)) -> applicative(either(A, B))
Generated by EDoc