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.