cat/applicative

Applicative type {minimal implementations - pure and apply}.

Types

Applicative type.

class Functor f => Applicative f where
    pure :: a -> f a
    (<*>) :: f (a -> b) -> f a -> f b
pub opaque type Applicative(f, a, fab, fa, fb)

Functions

pub fn apply(
  applicative: Applicative(Functor(a, b, c, d, e), b, f, d, e),
) -> fn(f) -> fn(d) -> e

Getter for Applicative apply.

pub fn fmap(
  applicative: Applicative(Functor(a, b, c, d, e), b, f, d, e),
) -> fn(fn(b) -> c) -> fn(d) -> e

Getter for Applicative fmap.

pub fn new(
  f: fn() -> Functor(a, b, c, d, e),
  pure: fn(b) -> d,
  apply: fn(f) -> fn(d) -> e,
) -> Applicative(Functor(a, b, c, d, e), b, f, d, e)

Smart constructor for the Applicative type.

pub fn pure(
  applicative: Applicative(Functor(a, b, c, d, e), b, f, d, e),
) -> fn(b) -> d

Getter for Applicative pure.

Search Document