Apply

trait Apply[F[_]] extends Functor[F]

scalaz.Applicative without point.

See also
Companion
object
trait Functor[F]
class Object
trait Matchable
class Any
trait Applicative[F]
trait Alt[F]
trait IsomorphismAlt[F, G]
trait ApplicativeError[F, S]
trait MonadError[F, S]
trait MonadPlus[F]
trait IsomorphismMonadTell[F, G, S]
trait Monad[F]
trait MonadReader[F, S]
trait MonadState[F, S]
trait MonadTell[F, S]
trait MonadListen[F, W]
trait MonadIO[F]
trait MonadCatchIO[F]
trait RegionTMonad[S, M]
trait Bind[F]
trait BindRec[F]
trait IsomorphismBind[F, G]

Type members

Classlikes

trait ApplyLaw extends FunctorLaw

Inherited classlikes

Inherited from
Functor

Value members

Abstract methods

def ap[A, B](fa: => F[A])(f: => F[A => B]): F[B]

Sequence f, then fa, combining their results by function application.

Sequence f, then fa, combining their results by function application.

NB: with respect to apply2 and all other combinators, as well as scalaz.Bind, the f action appears to the left. So f should be the "first" F-action to perform. This is in accordance with all other implementations of this typeclass in common use, which are "function first".

Concrete methods

def ap2[A, B, C](fa: => F[A], fb: => F[B])(f: F[(A, B) => C]): F[C]
def ap3[A, B, C, D](fa: => F[A], fb: => F[B], fc: => F[C])(f: F[(A, B, C) => D]): F[D]
def ap4[A, B, C, D, E](fa: => F[A], fb: => F[B], fc: => F[C], fd: => F[D])(f: F[(A, B, C, D) => E]): F[E]
def ap5[A, B, C, D, E, R](fa: => F[A], fb: => F[B], fc: => F[C], fd: => F[D], fe: => F[E])(f: F[(A, B, C, D, E) => R]): F[R]
def ap6[A, B, C, D, E, FF, R](fa: => F[A], fb: => F[B], fc: => F[C], fd: => F[D], fe: => F[E], ff: => F[FF])(f: F[(A, B, C, D, E, FF) => R]): F[R]
def ap7[A, B, C, D, E, FF, G, R](fa: => F[A], fb: => F[B], fc: => F[C], fd: => F[D], fe: => F[E], ff: => F[FF], fg: => F[G])(f: F[(A, B, C, D, E, FF, G) => R]): F[R]
def ap8[A, B, C, D, E, FF, G, H, R](fa: => F[A], fb: => F[B], fc: => F[C], fd: => F[D], fe: => F[E], ff: => F[FF], fg: => F[G], fh: => F[H])(f: F[(A, B, C, D, E, FF, G, H) => R]): F[R]
def apF[A, B](f: => F[A => B]): F[A] => F[B]

Flipped variant of ap.

Flipped variant of ap.

def apply10[A, B, C, D, E, FF, G, H, I, J, R](fa: => F[A], fb: => F[B], fc: => F[C], fd: => F[D], fe: => F[E], ff: => F[FF], fg: => F[G], fh: => F[H], fi: => F[I], fj: => F[J])(f: (A, B, C, D, E, FF, G, H, I, J) => R): F[R]
def apply11[A, B, C, D, E, FF, G, H, I, J, K, R](fa: => F[A], fb: => F[B], fc: => F[C], fd: => F[D], fe: => F[E], ff: => F[FF], fg: => F[G], fh: => F[H], fi: => F[I], fj: => F[J], fk: => F[K])(f: (A, B, C, D, E, FF, G, H, I, J, K) => R): F[R]
def apply12[A, B, C, D, E, FF, G, H, I, J, K, L, R](fa: => F[A], fb: => F[B], fc: => F[C], fd: => F[D], fe: => F[E], ff: => F[FF], fg: => F[G], fh: => F[H], fi: => F[I], fj: => F[J], fk: => F[K], fl: => F[L])(f: (A, B, C, D, E, FF, G, H, I, J, K, L) => R): F[R]
def apply2[A, B, C](fa: => F[A], fb: => F[B])(f: (A, B) => C): F[C]
def apply3[A, B, C, D](fa: => F[A], fb: => F[B], fc: => F[C])(f: (A, B, C) => D): F[D]
def apply4[A, B, C, D, E](fa: => F[A], fb: => F[B], fc: => F[C], fd: => F[D])(f: (A, B, C, D) => E): F[E]
def apply5[A, B, C, D, E, R](fa: => F[A], fb: => F[B], fc: => F[C], fd: => F[D], fe: => F[E])(f: (A, B, C, D, E) => R): F[R]
def apply6[A, B, C, D, E, FF, R](fa: => F[A], fb: => F[B], fc: => F[C], fd: => F[D], fe: => F[E], ff: => F[FF])(f: (A, B, C, D, E, FF) => R): F[R]
def apply7[A, B, C, D, E, FF, G, R](fa: => F[A], fb: => F[B], fc: => F[C], fd: => F[D], fe: => F[E], ff: => F[FF], fg: => F[G])(f: (A, B, C, D, E, FF, G) => R): F[R]
def apply8[A, B, C, D, E, FF, G, H, R](fa: => F[A], fb: => F[B], fc: => F[C], fd: => F[D], fe: => F[E], ff: => F[FF], fg: => F[G], fh: => F[H])(f: (A, B, C, D, E, FF, G, H) => R): F[R]
def apply9[A, B, C, D, E, FF, G, H, I, R](fa: => F[A], fb: => F[B], fc: => F[C], fd: => F[D], fe: => F[E], ff: => F[FF], fg: => F[G], fh: => F[H], fi: => F[I])(f: (A, B, C, D, E, FF, G, H, I) => R): F[R]
def applyApplicative: Applicative[[α] =>> F[α] \/ α]

Add a unit to any Apply to form an Applicative.

Add a unit to any Apply to form an Applicative.

final
def applying1[Z, A1](f: A1 => Z)(implicit a1: F[A1]): F[Z]
final
def applying2[Z, A1, A2](f: (A1, A2) => Z)(implicit a1: F[A1], a2: F[A2]): F[Z]
final
def applying3[Z, A1, A2, A3](f: (A1, A2, A3) => Z)(implicit a1: F[A1], a2: F[A2], a3: F[A3]): F[Z]
final
def applying4[Z, A1, A2, A3, A4](f: (A1, A2, A3, A4) => Z)(implicit a1: F[A1], a2: F[A2], a3: F[A3], a4: F[A4]): F[Z]
def compose[G[_]](implicit G0: Apply[G]): Apply[[α] =>> F[G[α]]]

The composition of Applys F and G, [x]F[G[x]], is a Apply

The composition of Applys F and G, [x]F[G[x]], is a Apply

def discardLeft[A, B](fa: => F[A], fb: => F[B]): F[B]

Combine fa and fb according to Apply[F] with a function that discards the A(s)

Combine fa and fb according to Apply[F] with a function that discards the A(s)

def discardRight[A, B](fa: => F[A], fb: => F[B]): F[A]

Combine fa and fb according to Apply[F] with a function that discards the B(s)

Combine fa and fb according to Apply[F] with a function that discards the B(s)

def flip: Apply[F]

An Apply for F in which effects happen in the opposite order.

An Apply for F in which effects happen in the opposite order.

def forever[A, B](fa: F[A]): F[B]

Repeats an applicative action infinitely

Repeats an applicative action infinitely

def lift10[A, B, C, D, E, FF, G, H, I, J, R](f: (A, B, C, D, E, FF, G, H, I, J) => R): (F[A], F[B], F[C], F[D], F[E], F[FF], F[G], F[H], F[I], F[J]) => F[R]
def lift11[A, B, C, D, E, FF, G, H, I, J, K, R](f: (A, B, C, D, E, FF, G, H, I, J, K) => R): (F[A], F[B], F[C], F[D], F[E], F[FF], F[G], F[H], F[I], F[J], F[K]) => F[R]
def lift12[A, B, C, D, E, FF, G, H, I, J, K, L, R](f: (A, B, C, D, E, FF, G, H, I, J, K, L) => R): (F[A], F[B], F[C], F[D], F[E], F[FF], F[G], F[H], F[I], F[J], F[K], F[L]) => F[R]
def lift2[A, B, C](f: (A, B) => C): (F[A], F[B]) => F[C]
def lift3[A, B, C, D](f: (A, B, C) => D): (F[A], F[B], F[C]) => F[D]
def lift4[A, B, C, D, E](f: (A, B, C, D) => E): (F[A], F[B], F[C], F[D]) => F[E]
def lift5[A, B, C, D, E, R](f: (A, B, C, D, E) => R): (F[A], F[B], F[C], F[D], F[E]) => F[R]
def lift6[A, B, C, D, E, FF, R](f: (A, B, C, D, E, FF) => R): (F[A], F[B], F[C], F[D], F[E], F[FF]) => F[R]
def lift7[A, B, C, D, E, FF, G, R](f: (A, B, C, D, E, FF, G) => R): (F[A], F[B], F[C], F[D], F[E], F[FF], F[G]) => F[R]
def lift8[A, B, C, D, E, FF, G, H, R](f: (A, B, C, D, E, FF, G, H) => R): (F[A], F[B], F[C], F[D], F[E], F[FF], F[G], F[H]) => F[R]
def lift9[A, B, C, D, E, FF, G, H, I, R](f: (A, B, C, D, E, FF, G, H, I) => R): (F[A], F[B], F[C], F[D], F[E], F[FF], F[G], F[H], F[I]) => F[R]
def liftReducer[A, B](implicit r: Reducer[A, B]): Reducer[F[A], F[B]]
def product[G[_]](implicit G0: Apply[G]): Apply[[α] =>> (F[α], G[α])]

The product of Applys F and G, [x](F[x], G[x]]), is a Apply

The product of Applys F and G, [x](F[x], G[x]]), is a Apply

def sequence1[A, G[_] : Traverse1](as: G[F[A]]): F[G[A]]
def traverse1[A, G[_], B](value: G[A])(f: A => F[B])(implicit G: Traverse1[G]): F[G[B]]
def tuple2[A, B](fa: => F[A], fb: => F[B]): F[(A, B)]
def tuple3[A, B, C](fa: => F[A], fb: => F[B], fc: => F[C]): F[(A, B, C)]
def tuple4[A, B, C, D](fa: => F[A], fb: => F[B], fc: => F[C], fd: => F[D]): F[(A, B, C, D)]
def tuple5[A, B, C, D, E](fa: => F[A], fb: => F[B], fc: => F[C], fd: => F[D], fe: => F[E]): F[(A, B, C, D, E)]
def unfoldrOpt[S, A, B](seed: S)(f: S => Maybe[(F[A], S)])(implicit R: Reducer[A, B]): Maybe[F[B]]

Unfold seed to the right and combine effects left-to-right, using the given Reducer to combine values. Implementations may override this method to not unfold more than is necessary to determine the result.

Unfold seed to the right and combine effects left-to-right, using the given Reducer to combine values. Implementations may override this method to not unfold more than is necessary to determine the result.

Inherited methods

def apply[A, B](fa: F[A])(f: A => B): F[B]

Alias for map.

Alias for map.

Inherited from
Functor
def bicompose[G[_, _] : Bifunctor]: Bifunctor[[α, β] =>> F[G[α, β]]]

The composition of Functor F and Bifunctor G, [x, y]F[G[x, y]], is a Bifunctor

The composition of Functor F and Bifunctor G, [x, y]F[G[x, y]], is a Bifunctor

Inherited from
Functor
def compose[G[_]](implicit G0: Functor[G]): Functor[[α] =>> F[G[α]]]

The composition of Functors F and G, [x]F[G[x]], is a Functor

The composition of Functors F and G, [x]F[G[x]], is a Functor

Inherited from
Functor
def counzip[A, B](a: F[A] \/ F[B]): F[A \/ B]
Inherited from
Functor
def fpair[A](fa: F[A]): F[(A, A)]

Twin all As in fa.

Twin all As in fa.

Inherited from
Functor
def fproduct[A, B](fa: F[A])(f: A => B): F[(A, B)]

Pair all As in fa with the result of function application.

Pair all As in fa with the result of function application.

Inherited from
Functor
Inherited from
Functor
def icompose[G[_]](implicit G0: Contravariant[G]): Contravariant[[α] =>> F[G[α]]]

The composition of Functor F and Contravariant G, [x]F[G[x]], is contravariant.

The composition of Functor F and Contravariant G, [x]F[G[x]], is contravariant.

Inherited from
Functor
def lift[A, B](f: A => B): F[A] => F[B]

Lift f into F.

Lift f into F.

Inherited from
Functor
def map[A, B](fa: F[A])(f: A => B): F[B]

Lift f into F and apply to F[A].

Lift f into F and apply to F[A].

Inherited from
Functor
def mapply[A, B](a: A)(f: F[A => B]): F[B]

Lift apply(a), and apply the result to f.

Lift apply(a), and apply the result to f.

Inherited from
Functor
def product[G[_]](implicit G0: Functor[G]): Functor[[α] =>> (F[α], G[α])]

The product of Functors F and G, [x](F[x], G[x]]), is a Functor

The product of Functors F and G, [x](F[x], G[x]]), is a Functor

Inherited from
Functor
def strengthL[A, B](a: A, f: F[B]): F[(A, B)]

Inject a to the left of Bs in f.

Inject a to the left of Bs in f.

Inherited from
Functor
def strengthR[A, B](f: F[A], b: B): F[(A, B)]

Inject b to the right of As in f.

Inject b to the right of As in f.

Inherited from
Functor
def void[A](fa: F[A]): F[Unit]

Empty fa of meaningful pure values, preserving its structure.

Empty fa of meaningful pure values, preserving its structure.

Inherited from
Functor
def widen[A, B](fa: F[A])(implicit ev: Liskov[A, B]): F[B]

Functors are covariant by nature, so we can treat an F[A] as an F[B] if A is a subtype of B.

Functors are covariant by nature, so we can treat an F[A] as an F[B] if A is a subtype of B.

Inherited from
Functor
def xmap[A, B](fa: F[A], f: A => B, g: B => A): F[B]
Inherited from
Functor
def xmapb[A, B](ma: F[A])(b: Bijection[A, B]): F[B]

Converts ma to a value of type F[B] using the provided bijection.

Converts ma to a value of type F[B] using the provided bijection.

Inherited from
InvariantFunctor
def xmapi[A, B](ma: F[A])(iso: IsoSet[A, B]): F[B]

Converts ma to a value of type F[B] using the provided isomorphism.

Converts ma to a value of type F[B] using the provided isomorphism.

Inherited from
InvariantFunctor

Concrete fields

Inherited fields

Inherited from
Functor