Functional

upgrades.flatMapIndexed { idx, entry -> entry.map { Pair(it.key.position.add(-2.0*idx, 0.0, 0.0), Pair(it.value, it.value.data)) } }

A monad is a monoid in the category of endofunctors.

map

>>==

flatmap

map

>>==

μ

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

functors

Natural Transformations

profunctors

() -> a -> b -> (c, d, e) -> f -> a(b)(c)[d](e, f)

λ

A monad is a monoid in the category of endofunctors.

profunctors

λ

map

category theory

map

filter

flatmap

interface Mu extends Profunctor.Mu {}

flatmap

flatmap

>>==

map

upgrades.flatMapIndexed { idx, entry -> entry.map { Pair(it.key.position.add(-2.0*idx, 0.0, 0.0), Pair(it.value, it.value.data)) } }

filter

filter

map

map

μ

Natural Transformations

flatmap

filter

Category Theory

map

flatmap

A monad is a monoid in the category of endofunctors.

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)

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

(+ 1 1)

filter

filter

collection.filter(…).map(…).flatMap(…).filter(…).map(…).filter(…).forEach(…)

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

filter

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)