Functional
filter
A monad is a monoid in the category of endofunctors.
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)
(+ 1 1)
interface Mu extends Profunctor.Mu {}
flatmap
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)
filter
map
profunctors
flatmap
list.map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…)
map
(+ 1 1)
The λ-cube sees all
filter
std::reduce(std::execution::seq, v.cbegin(), v.cend())
map
filter
reduce
filter
(+ 1 1)
map
default Function15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, Function<T16, R>> curry15()
μ
flatmap
filter
flatmap
Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int -> Int
(+ 1 1)
μ
filter
μ
std::reduce(std::execution::seq, v.cbegin(), v.cend())
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)) } }
flatmap
flatmap
>>==
list.map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…)
flatmap
map
list.map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…).map(…)
reduce
upgrades.flatMapIndexed { idx, entry -> entry.map { Pair(it.key.position.add(-2.0*idx, 0.0, 0.0), Pair(it.value, it.value.data)) } }
forall void a n m. MonadEffect n => MonadAff m => MonadEffect m => Plus m => m a -> n (Tuple (m a) (m void))