EffInterpretation

Companion:
object
Source:
Eff.scala
class Object
trait Matchable
class Any
object Eff.type
object EffInterpretation.type
object all.type
object eff.type

Value members

Concrete methods

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

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

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

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

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

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

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

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

Source:
Eff.scala