QuasiApplicative

izumi.functional.quasi.QuasiApplicative
See theQuasiApplicative companion object
trait QuasiApplicative[F[_]] extends QuasiFunctor[F]

An Applicative capability for F. Unlike QuasiIO there's nothing "quasi" about it – it makes sense. But named like that for consistency anyway.

Internal use class, as with QuasiIO, it's only public so that you can define your own instances, better use izumi.functional.bio or cats typeclasses for application logic.

Attributes

Companion:
object
Graph
Supertypes
trait QuasiFunctor[F]
class Object
trait Matchable
class Any
Known subtypes
trait QuasiIO[F]

Members list

Concise view

Value members

Abstract methods

def map2[A, B, C](fa: F[A], fb: => F[B])(f: (A, B) => C): F[C]
def pure[A](a: A): F[A]
def traverse[A, B](l: Iterable[A])(f: A => F[B]): F[List[B]]
def traverse_[A](l: Iterable[A])(f: A => F[Unit]): F[Unit]

Concrete methods

final def ifThenElse[A](cond: Boolean)(ifTrue: => F[A], ifFalse: => F[A]): F[A]
final def unless(cond: Boolean)(ifFalse: => F[Unit]): F[Unit]
final def when(cond: Boolean)(ifTrue: => F[Unit]): F[Unit]

Inherited methods

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

Attributes

Inherited from:
QuasiFunctor
final def widen[A, B >: A](fa: F[A]): F[B]

Attributes

Inherited from:
QuasiFunctor

Concrete fields

final val unit: F[Unit]