QuasiPrimitives

izumi.functional.quasi.QuasiPrimitives
See theQuasiPrimitives companion object
trait QuasiPrimitives[F[_]] extends QuasiApplicative[F]

Evidence that F supports a subset of QuasiIO capabilities - state, non-effectful not-guaranteed suspension, and setting finalizers that can't inspect the error.

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 bracket[A, B](acquire: => F[A])(release: A => F[Unit])(use: A => F[B]): F[B]
def flatMap[A, B](fa: F[A])(f: A => F[B]): F[B]
def mkRef[A](a: A): F[QuasiRef[F, A]]
def suspendF[A](effAction: => F[A]): F[A]

Concrete methods

def guarantee[A](fa: => F[A])(`finally`: => F[Unit]): F[A]
def tailRecM[A, B](a: A)(f: A => F[Either[A, B]]): F[B]
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]

Inherited methods

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

Attributes

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

Attributes

Inherited from:
QuasiFunctor
def map2[A, B, C](fa: F[A], fb: => F[B])(f: (A, B) => C): F[C]

Attributes

Inherited from:
QuasiApplicative
def pure[A](a: A): F[A]

Attributes

Inherited from:
QuasiApplicative
final def unless(cond: Boolean)(ifFalse: => F[Unit]): F[Unit]

Attributes

Inherited from:
QuasiApplicative
final def when(cond: Boolean)(ifTrue: => F[Unit]): F[Unit]

Attributes

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

Attributes

Inherited from:
QuasiFunctor

Inherited fields

final val unit: F[Unit]

Attributes

Inherited from:
QuasiApplicative