cat/monad
Monad
type {minimal implementation - bind
}.
Types
Functions
pub fn apply(
m: Monad(
Applicative(Functor(a, b, c, d, e), b, f, d, e),
b,
g,
h,
),
) -> fn(f) -> fn(d) -> e
Getter for Monad apply
.
pub fn bind(
m: Monad(
Applicative(Functor(a, b, c, d, e), b, f, d, e),
b,
g,
h,
),
) -> fn(g) -> fn(fn(b) -> h) -> h
Getter for Monad bind
.
pub fn fmap(
m: Monad(
Applicative(Functor(a, b, c, d, e), b, f, d, e),
b,
g,
h,
),
) -> fn(fn(b) -> c) -> fn(d) -> e
Getter for Monad fmap
.
pub fn new(
ap: fn() -> Applicative(Functor(a, b, c, d, e), b, f, d, e),
return: fn(b) -> g,
bind: fn(g) -> fn(fn(b) -> h) -> h,
) -> Monad(
Applicative(Functor(a, b, c, d, e), b, f, d, e),
b,
g,
h,
)
Smart constructor for Monad
type.
pub fn pure(
m: Monad(
Applicative(Functor(a, b, c, d, e), b, f, d, e),
b,
g,
h,
),
) -> fn(b) -> d
Getter for Monad pure
.