arrow-core-data / arrow.typeclasses / Apply

Apply

interface Apply<F> : Functor<F>

Functions

ap Given both the value and the function are within F, apply the function to the value.abstract fun <A, B> Kind<F, A>.ap(ff: Kind<F, (A) -> B>): Kind<F, B>
apTap Given two actions, it performs them sequentially. Discards the result of the second action.open fun <A, B> Kind<F, A>.apTap(fb: Kind<F, B>): Kind<F, A>
followedBy Given two actions, it performs them sequentially. Ignores the result of the first action.open fun <A, B> Kind<F, A>.followedBy(fb: Kind<F, B>): Kind<F, B>
lazyAp Lazy version of ap, useful for datatypes which can short circuit. This will at some point be removed for a compiler pluginopen fun <A, B> Kind<F, A>.lazyAp(ff: () -> Kind<F, (A) -> B>): Kind<F, B>
map open fun <A, B, Z> ~~map~~(a: Kind<F, A>, b: Kind<F, B>, lbd: (Tuple2<A, B>) -> Z): Kind<F, Z>
open fun <A, B, C, Z> ~~map~~(a: Kind<F, A>, b: Kind<F, B>, c: Kind<F, C>, lbd: (Tuple3<A, B, C>) -> Z): Kind<F, Z>
open fun <A, B, C, D, Z> ~~map~~(a: Kind<F, A>, b: Kind<F, B>, c: Kind<F, C>, d: Kind<F, D>, lbd: (Tuple4<A, B, C, D>) -> Z): Kind<F, Z>
open fun <A, B, C, D, E, Z> ~~map~~(a: Kind<F, A>, b: Kind<F, B>, c: Kind<F, C>, d: Kind<F, D>, e: Kind<F, E>, lbd: (Tuple5<A, B, C, D, E>) -> Z): Kind<F, Z>
open fun <A, B, C, D, E, FF, Z> ~~map~~(a: Kind<F, A>, b: Kind<F, B>, c: Kind<F, C>, d: Kind<F, D>, e: Kind<F, E>, f: Kind<F, FF>, lbd: (Tuple6<A, B, C, D, E, FF>) -> Z): Kind<F, Z>
open fun <A, B, C, D, E, FF, G, Z> ~~map~~(a: Kind<F, A>, b: Kind<F, B>, c: Kind<F, C>, d: Kind<F, D>, e: Kind<F, E>, f: Kind<F, FF>, g: Kind<F, G>, lbd: (Tuple7<A, B, C, D, E, FF, G>) -> Z): Kind<F, Z>
open fun <A, B, C, D, E, FF, G, H, Z> ~~map~~(a: Kind<F, A>, b: Kind<F, B>, c: Kind<F, C>, d: Kind<F, D>, e: Kind<F, E>, f: Kind<F, FF>, g: Kind<F, G>, h: Kind<F, H>, lbd: (Tuple8<A, B, C, D, E, FF, G, H>) -> Z): Kind<F, Z>
open fun <A, B, C, D, E, FF, G, H, I, Z> ~~map~~(a: Kind<F, A>, b: Kind<F, B>, c: Kind<F, C>, d: Kind<F, D>, e: Kind<F, E>, f: Kind<F, FF>, g: Kind<F, G>, h: Kind<F, H>, i: Kind<F, I>, lbd: (Tuple9<A, B, C, D, E, FF, G, H, I>) -> Z): Kind<F, Z>
open fun <A, B, C, D, E, FF, G, H, I, J, Z> ~~map~~(a: Kind<F, A>, b: Kind<F, B>, c: Kind<F, C>, d: Kind<F, D>, e: Kind<F, E>, f: Kind<F, FF>, g: Kind<F, G>, h: Kind<F, H>, i: Kind<F, I>, j: Kind<F, J>, lbd: (Tuple10<A, B, C, D, E, FF, G, H, I, J>) -> Z): Kind<F, Z>
map2 open fun <A, B, Z> Kind<F, A>.map2(fb: Kind<F, B>, f: (Tuple2<A, B>) -> Z): Kind<F, Z>
map2Eval open fun <A, B, Z> Kind<F, A>.map2Eval(fb: Eval<Kind<F, B>>, f: (Tuple2<A, B>) -> Z): Eval<Kind<F, Z>>
mapN open fun <A, B, Z> mapN(a: Kind<F, A>, b: Kind<F, B>, lbd: (Tuple2<A, B>) -> Z): Kind<F, Z>
open fun <A, B, C, Z> mapN(a: Kind<F, A>, b: Kind<F, B>, c: Kind<F, C>, lbd: (Tuple3<A, B, C>) -> Z): Kind<F, Z>
open fun <A, B, C, D, Z> mapN(a: Kind<F, A>, b: Kind<F, B>, c: Kind<F, C>, d: Kind<F, D>, lbd: (Tuple4<A, B, C, D>) -> Z): Kind<F, Z>
open fun <A, B, C, D, E, Z> mapN(a: Kind<F, A>, b: Kind<F, B>, c: Kind<F, C>, d: Kind<F, D>, e: Kind<F, E>, lbd: (Tuple5<A, B, C, D, E>) -> Z): Kind<F, Z>
open fun <A, B, C, D, E, FF, Z> mapN(a: Kind<F, A>, b: Kind<F, B>, c: Kind<F, C>, d: Kind<F, D>, e: Kind<F, E>, f: Kind<F, FF>, lbd: (Tuple6<A, B, C, D, E, FF>) -> Z): Kind<F, Z>
open fun <A, B, C, D, E, FF, G, Z> mapN(a: Kind<F, A>, b: Kind<F, B>, c: Kind<F, C>, d: Kind<F, D>, e: Kind<F, E>, f: Kind<F, FF>, g: Kind<F, G>, lbd: (Tuple7<A, B, C, D, E, FF, G>) -> Z): Kind<F, Z>
open fun <A, B, C, D, E, FF, G, H, Z> mapN(a: Kind<F, A>, b: Kind<F, B>, c: Kind<F, C>, d: Kind<F, D>, e: Kind<F, E>, f: Kind<F, FF>, g: Kind<F, G>, h: Kind<F, H>, lbd: (Tuple8<A, B, C, D, E, FF, G, H>) -> Z): Kind<F, Z>
open fun <A, B, C, D, E, FF, G, H, I, Z> mapN(a: Kind<F, A>, b: Kind<F, B>, c: Kind<F, C>, d: Kind<F, D>, e: Kind<F, E>, f: Kind<F, FF>, g: Kind<F, G>, h: Kind<F, H>, i: Kind<F, I>, lbd: (Tuple9<A, B, C, D, E, FF, G, H, I>) -> Z): Kind<F, Z>
open fun <A, B, C, D, E, FF, G, H, I, J, Z> mapN(a: Kind<F, A>, b: Kind<F, B>, c: Kind<F, C>, d: Kind<F, D>, e: Kind<F, E>, f: Kind<F, FF>, g: Kind<F, G>, h: Kind<F, H>, i: Kind<F, I>, j: Kind<F, J>, lbd: (Tuple10<A, B, C, D, E, FF, G, H, I, J>) -> Z): Kind<F, Z>
product open fun <A, B> Kind<F, A>.product(fb: Kind<F, B>): Kind<F, Tuple2<A, B>>
open fun <A, B, Z> Kind<F, Tuple2<A, B>>.product(other: Kind<F, Z>, dummyImplicit: Unit = Unit): Kind<F, Tuple3<A, B, Z>>
open fun <A, B, C, Z> Kind<F, Tuple3<A, B, C>>.product(other: Kind<F, Z>, dummyImplicit: Unit = Unit, dummyImplicit2: Unit = Unit): Kind<F, Tuple4<A, B, C, Z>>
open fun <A, B, C, D, Z> Kind<F, Tuple4<A, B, C, D>>.product(other: Kind<F, Z>, dummyImplicit: Unit = Unit, dummyImplicit2: Unit = Unit, dummyImplicit3: Unit = Unit): Kind<F, Tuple5<A, B, C, D, Z>>
open fun <A, B, C, D, E, Z> Kind<F, Tuple5<A, B, C, D, E>>.product(other: Kind<F, Z>, dummyImplicit: Unit = Unit, dummyImplicit2: Unit = Unit, dummyImplicit3: Unit = Unit, dummyImplicit4: Unit = Unit): Kind<F, Tuple6<A, B, C, D, E, Z>>
open fun <A, B, C, D, E, FF, Z> Kind<F, Tuple6<A, B, C, D, E, FF>>.product(other: Kind<F, Z>, dummyImplicit: Unit = Unit, dummyImplicit2: Unit = Unit, dummyImplicit3: Unit = Unit, dummyImplicit4: Unit = Unit, dummyImplicit5: Unit = Unit): Kind<F, Tuple7<A, B, C, D, E, FF, Z>>
open fun <A, B, C, D, E, FF, G, Z> Kind<F, Tuple7<A, B, C, D, E, FF, G>>.product(other: Kind<F, Z>, dummyImplicit: Unit = Unit, dummyImplicit2: Unit = Unit, dummyImplicit3: Unit = Unit, dummyImplicit4: Unit = Unit, dummyImplicit5: Unit = Unit, dummyImplicit6: Unit = Unit): Kind<F, Tuple8<A, B, C, D, E, FF, G, Z>>
open fun <A, B, C, D, E, FF, G, H, Z> Kind<F, Tuple8<A, B, C, D, E, FF, G, H>>.product(other: Kind<F, Z>, dummyImplicit: Unit = Unit, dummyImplicit2: Unit = Unit, dummyImplicit3: Unit = Unit, dummyImplicit4: Unit = Unit, dummyImplicit5: Unit = Unit, dummyImplicit6: Unit = Unit, dummyImplicit7: Unit = Unit): Kind<F, Tuple9<A, B, C, D, E, FF, G, H, Z>>
open fun <A, B, C, D, E, FF, G, H, I, Z> Kind<F, Tuple9<A, B, C, D, E, FF, G, H, I>>.product(other: Kind<F, Z>, dummyImplicit: Unit = Unit, dummyImplicit2: Unit = Unit, dummyImplicit3: Unit = Unit, dummyImplicit4: Unit = Unit, dummyImplicit5: Unit = Unit, dummyImplicit6: Unit = Unit, dummyImplicit7: Unit = Unit, dummyImplicit9: Unit = Unit): Kind<F, Tuple10<A, B, C, D, E, FF, G, H, I, Z>>
tupled open fun <A, B> ~~tupled~~(a: Kind<F, A>, b: Kind<F, B>): Kind<F, Tuple2<A, B>>
open fun <A, B, C> ~~tupled~~(a: Kind<F, A>, b: Kind<F, B>, c: Kind<F, C>): Kind<F, Tuple3<A, B, C>>
open fun <A, B, C, D> ~~tupled~~(a: Kind<F, A>, b: Kind<F, B>, c: Kind<F, C>, d: Kind<F, D>): Kind<F, Tuple4<A, B, C, D>>
open fun <A, B, C, D, E> ~~tupled~~(a: Kind<F, A>, b: Kind<F, B>, c: Kind<F, C>, d: Kind<F, D>, e: Kind<F, E>): Kind<F, Tuple5<A, B, C, D, E>>
open fun <A, B, C, D, E, FF> ~~tupled~~(a: Kind<F, A>, b: Kind<F, B>, c: Kind<F, C>, d: Kind<F, D>, e: Kind<F, E>, f: Kind<F, FF>): Kind<F, Tuple6<A, B, C, D, E, FF>>
open fun <A, B, C, D, E, FF, G> ~~tupled~~(a: Kind<F, A>, b: Kind<F, B>, c: Kind<F, C>, d: Kind<F, D>, e: Kind<F, E>, f: Kind<F, FF>, g: Kind<F, G>): Kind<F, Tuple7<A, B, C, D, E, FF, G>>
open fun <A, B, C, D, E, FF, G, H> ~~tupled~~(a: Kind<F, A>, b: Kind<F, B>, c: Kind<F, C>, d: Kind<F, D>, e: Kind<F, E>, f: Kind<F, FF>, g: Kind<F, G>, h: Kind<F, H>): Kind<F, Tuple8<A, B, C, D, E, FF, G, H>>
open fun <A, B, C, D, E, FF, G, H, I> ~~tupled~~(a: Kind<F, A>, b: Kind<F, B>, c: Kind<F, C>, d: Kind<F, D>, e: Kind<F, E>, f: Kind<F, FF>, g: Kind<F, G>, h: Kind<F, H>, i: Kind<F, I>): Kind<F, Tuple9<A, B, C, D, E, FF, G, H, I>>
open fun <A, B, C, D, E, FF, G, H, I, J> ~~tupled~~(a: Kind<F, A>, b: Kind<F, B>, c: Kind<F, C>, d: Kind<F, D>, e: Kind<F, E>, f: Kind<F, FF>, g: Kind<F, G>, h: Kind<F, H>, i: Kind<F, I>, j: Kind<F, J>): Kind<F, Tuple10<A, B, C, D, E, FF, G, H, I, J>>
tupledN open fun <A, B> tupledN(a: Kind<F, A>, b: Kind<F, B>): Kind<F, Tuple2<A, B>>
open fun <A, B, C> tupledN(a: Kind<F, A>, b: Kind<F, B>, c: Kind<F, C>): Kind<F, Tuple3<A, B, C>>
open fun <A, B, C, D> tupledN(a: Kind<F, A>, b: Kind<F, B>, c: Kind<F, C>, d: Kind<F, D>): Kind<F, Tuple4<A, B, C, D>>
open fun <A, B, C, D, E> tupledN(a: Kind<F, A>, b: Kind<F, B>, c: Kind<F, C>, d: Kind<F, D>, e: Kind<F, E>): Kind<F, Tuple5<A, B, C, D, E>>
open fun <A, B, C, D, E, FF> tupledN(a: Kind<F, A>, b: Kind<F, B>, c: Kind<F, C>, d: Kind<F, D>, e: Kind<F, E>, f: Kind<F, FF>): Kind<F, Tuple6<A, B, C, D, E, FF>>
open fun <A, B, C, D, E, FF, G> tupledN(a: Kind<F, A>, b: Kind<F, B>, c: Kind<F, C>, d: Kind<F, D>, e: Kind<F, E>, f: Kind<F, FF>, g: Kind<F, G>): Kind<F, Tuple7<A, B, C, D, E, FF, G>>
open fun <A, B, C, D, E, FF, G, H> tupledN(a: Kind<F, A>, b: Kind<F, B>, c: Kind<F, C>, d: Kind<F, D>, e: Kind<F, E>, f: Kind<F, FF>, g: Kind<F, G>, h: Kind<F, H>): Kind<F, Tuple8<A, B, C, D, E, FF, G, H>>
open fun <A, B, C, D, E, FF, G, H, I> tupledN(a: Kind<F, A>, b: Kind<F, B>, c: Kind<F, C>, d: Kind<F, D>, e: Kind<F, E>, f: Kind<F, FF>, g: Kind<F, G>, h: Kind<F, H>, i: Kind<F, I>): Kind<F, Tuple9<A, B, C, D, E, FF, G, H, I>>
open fun <A, B, C, D, E, FF, G, H, I, J> tupledN(a: Kind<F, A>, b: Kind<F, B>, c: Kind<F, C>, d: Kind<F, D>, e: Kind<F, E>, f: Kind<F, FF>, g: Kind<F, G>, h: Kind<F, H>, i: Kind<F, I>, j: Kind<F, J>): Kind<F, Tuple10<A, B, C, D, E, FF, G, H, I, J>>

Inheritors

Applicative interface Applicative<F> : Apply<F>

Type Class Hierarchy

Do you like Arrow?

Arrow Org
<