eff

object eff extends EffCreation with EffInterpretation
class Object
trait Matchable
class Any
eff.type

Value members

Inherited methods

def ap[R, A, B](a: Eff[R, A])(f: Eff[R, A => B]): Eff[R, B]

apply a function to an Eff value using the applicative instance

apply a function to an Eff value using the applicative instance

Inherited from:
EffCreation
Source:
Eff.scala
def bracketLast[R, A, B, C](acquire: Eff[R, A])(use: A => Eff[R, B])(release: A => Eff[R, C]): Eff[R, B]

bracket an action with one last action to execute at the end of the program

bracket an action with one last action to execute at the end of the program

Inherited from:
EffCreation
Source:
Eff.scala
def collapse[R, M[_], A](r: Eff[R, M[A]])(implicit m: MemberIn[M, R]): Eff[R, A]

use the internal effect as one of the stack effects

use the internal effect as one of the stack effects

Inherited from:
EffCreation
Source:
Eff.scala
def detach[M[_], A, E](eff: Eff[Fx1[M], A])(implicit monad: MonadError[M, E]): M[A]

peel-off the only present effect

peel-off the only present effect

Inherited from:
EffInterpretation
Source:
Eff.scala
def detach[M[_], R, A, E](eff: Eff[R, A])(implicit monad: MonadError[M, E], m: Aux[M, R, NoFx]): M[A]

peel-off the only present effect

peel-off the only present effect

Inherited from:
EffInterpretation
Source:
Eff.scala
def detachA[M[_], A, E](eff: Eff[Fx1[M], A])(implicit monad: MonadError[M, E], applicative: Applicative[M]): M[A]

peel-off the only present effect, using an Applicative instance where possible

peel-off the only present effect, using an Applicative instance where possible

Inherited from:
EffInterpretation
Source:
Eff.scala
def detachA[M[_], R, A, E](eff: Eff[R, A])(implicit monad: MonadError[M, E], applicative: Applicative[M], member: Aux[M, R, NoFx]): M[A]

peel-off the only present effect, using an Applicative instance where possible

peel-off the only present effect, using an Applicative instance where possible

Inherited from:
EffInterpretation
Source:
Eff.scala
def effInto[R, U, A](e: Eff[R, A])(implicit f: IntoPoly[R, U]): Eff[U, A]

An Eff[R, A] value can be transformed into an Eff[U, A] value provided that all the effects in R are also in U

An Eff[R, A] value can be transformed into an Eff[U, A] value provided that all the effects in R are also in U

Inherited from:
EffInterpretation
Source:
Eff.scala
def flatSequenceA[R, F[_], A](fs: F[Eff[R, F[A]]])(implicit FT: Traverse[F], FM: FlatMap[F]): Eff[R, F[A]]

use the applicative instance of Eff to sequence a list of values, then flatten it

use the applicative instance of Eff to sequence a list of values, then flatten it

Inherited from:
EffCreation
Source:
Eff.scala
def flatTraverseA[R, F[_], A, B](fs: F[A])(f: A => Eff[R, F[B]])(implicit FT: Traverse[F], FM: FlatMap[F]): Eff[R, F[B]]

use the applicative instance of Eff to traverse a list of values, then flatten it

use the applicative instance of Eff to traverse a list of values, then flatten it

Inherited from:
EffCreation
Source:
Eff.scala
def impure[R, A, B](value: A, continuation: Continuation[R, A, B], map: B => B): Eff[R, B]

create a delayed impure value

create a delayed impure value

Inherited from:
EffCreation
Source:
Eff.scala
def impure[R, A, B](value: A, continuation: Continuation[R, A, B]): Eff[R, B]

create a delayed impure value

create a delayed impure value

Inherited from:
EffCreation
Source:
Eff.scala
def impure[R, X, A](union: Union[R, X], continuation: Continuation[R, X, A]): Eff[R, A]

create a impure value from an union of effects and a continuation

create a impure value from an union of effects and a continuation

Inherited from:
EffCreation
Source:
Eff.scala
def memoizeEffect[R, M[_], A](e: Eff[R, A], cache: Cache, key: AnyRef)(implicit member: MemberInOut[M, R], cached: SequenceCached[M]): Eff[R, A]

Memoize an effect using a cache

Memoize an effect using a cache

all the consecutive effects M[X] leading to the computation of Eff[R, A] will be cached in the cache and retrieved from there if the Eff[R, A] computation is executed again

Inherited from:
EffInterpretation
Source:
Eff.scala
def pure[R, A](a: A): Eff[R, A]

create a pure value

create a pure value

Inherited from:
EffCreation
Source:
Eff.scala
def retryUntil[R, A](e: Eff[R, A], condition: A => Boolean, durations: List[FiniteDuration], waitFor: FiniteDuration => Eff[R, Unit]): Eff[R, A]
Inherited from:
EffCreation
Source:
Eff.scala
def run[A](eff: Eff[NoFx, A]): A

base runner for an Eff value having no effects at all the execution is trampolined using Eval

base runner for an Eff value having no effects at all the execution is trampolined using Eval

Inherited from:
EffInterpretation
Source:
Eff.scala
def runPure[R, A](eff: Eff[R, A]): Option[A]

get the pure value if there is no effect

get the pure value if there is no effect

Inherited from:
EffInterpretation
Source:
Eff.scala
def send[T[_], R, V](tv: T[V])(implicit member: MemberIn[T, R]): Eff[R, V]

create an Eff[R, A] value from an effectful value of type T[V] provided that T is one of the effects of R

create an Eff[R, A] value from an effectful value of type T[V] provided that T is one of the effects of R

Inherited from:
EffCreation
Source:
Eff.scala
def sequenceA[R, F[_] : Traverse, A](fs: F[Eff[R, A]]): Eff[R, F[A]]

use the applicative instance of Eff to sequence a list of values

use the applicative instance of Eff to sequence a list of values

Inherited from:
EffCreation
Source:
Eff.scala
def traverseA[R, F[_] : Traverse, A, B](fs: F[A])(f: A => Eff[R, B]): Eff[R, F[B]]

use the applicative instance of Eff to traverse a list of values

use the applicative instance of Eff to traverse a list of values

Inherited from:
EffCreation
Source:
Eff.scala
def unit[R]: Eff[R, Unit]

create an Eff value for ()

create an Eff value for ()

Inherited from:
EffCreation
Source:
Eff.scala
def whenStopped[R, A](e: Eff[R, A], action: Last[R]): Eff[R, A]

attach a clean-up action to the continuation (if any)

attach a clean-up action to the continuation (if any)

Inherited from:
EffCreation
Source:
Eff.scala