Functional
forall void a n m. MonadEffect n => MonadAff m => MonadEffect m => Plus m => m a -> n (Tuple (m a) (m void))
filter
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
list.map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…)
filter
forall void a n m. MonadEffect n => MonadAff m => MonadEffect m => Plus m => m a -> n (Tuple (m a) (m void))
reduce
map
map
profunctors
μ
filter
flatmap
upgrades.flatMapIndexed { idx, entry -> entry.map { Pair(it.key.position.add(-2.0*idx, 0.0, 0.0), Pair(it.value, it.value.data)) } }
flatmap
public interface Applicative<F extends K1, Mu extends Applicative.Mu> extends Functor<F, Mu>
functors
category theory
list.map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…)
reduce
Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int
map
flatmap
flatmap
filter
filter
functors
collection.filter(…).map(…).flatMap(…).filter(…).map(…).filter(…).forEach(…)
map
interface Mu extends Profunctor.Mu {}
flatmap
flatmap
(+ 1 1)
Category Theory
The λ-cube sees all
(+ 1 1)
flatmap
public interface Applicative<F extends K1, Mu extends Applicative.Mu> extends Functor<F, Mu>
>>==
category theory
profunctors
map
() -> a -> b -> (c, d, e) -> f -> a(b)(c)[d](e, f)
A monad is a monoid in the category of endofunctors.
collection.filter(…).map(…).flatMap(…).filter(…).map(…).filter(…).forEach(…)
profunctors
flatmap
forall void a n m. MonadEffect n => MonadAff m => MonadEffect m => Plus m => m a -> n (Tuple (m a) (m void))
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)