Functional

flatmap

(+ 1 1)

category theory

filter

map

public <A, B, C, D> FunctionType<App2<Grate.Mu<A2, B2>, A, B>, App2<Grate.Mu<A2, B2>, C, D>> dimap(final Function<C, A> g, final Function<B, D> h)

map

The λ-cube sees all

map

map

Natural Transformations

filter

forall void a n m. MonadEffect n => MonadAff m => MonadEffect m => Plus m => m a -> n (Tuple (m a) (m void))

flatmap

flatmap

list.map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…)

filter

flatmap

filter

forall void a n m. MonadEffect n => MonadAff m => MonadEffect m => Plus m => m a -> n (Tuple (m a) (m void))

profunctors

std::reduce(std::execution::seq, v.cbegin(), v.cend())

flatmap

filter

interface Mu extends Profunctor.Mu {}

filter

μ

map

A monad is a monoid in the category of endofunctors.

list.map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…)

Natural Transformations

category theory

functors

filter

filter

filter

Category Theory

filter

interface Mu extends Profunctor.Mu {}

flatmap

reduce

Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int

functors

filter

profunctors

Natural Transformations

map

interface Mu extends Profunctor.Mu {}

filter

list.map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…)