CanPerform

turbolift.internals.effect.CanPerform
trait CanPerform[Z <: Signature] extends Signature

Attributes

Graph
Supertypes
trait Signature
class Object
trait Matchable
class Any
Known subtypes
trait Effect[Z]
trait ChoiceEffect
trait Choice
object Each.type
object Fail.type
object Console.type
trait ErrorEffect[E, E1]
trait Error[E]
trait ErrorK[F, E]
trait RandomEffect
object Random.type
trait Reader[R]
trait State[S]
trait WriterEffect[W, W1]
trait Writer[W]
trait WriterG[M, K, V]
trait WriterGK[M, K, F, V]
trait WriterK[F, W]
Show all

Members list

Type members

Types

final override type !@![+A, U] = Computation[A, U]

Abstract type that must be used in definitions of effect's operations.

Abstract type that must be used in definitions of effect's operations.

Becomes an alias of Computation (i.e. same as !!), once the signature is inherited from Effect.

Attributes

Inherited types

type ThisEffect

Abstract type that must be used in definitions of effect's operations.

Abstract type that must be used in definitions of effect's operations.

Becomes an alias of this.type, once the signature is inherited from Effect.

Attributes

Inherited from:
Signature

Value members

Concrete methods

final def perform[A, U <: ThisEffect](f: (z: Z & Signature { type ThisEffect = U; }) => A !@! U): Computation[A, U]

Lifts an invocation of this Signature's method into the Computation monad.

Lifts an invocation of this Signature's method into the Computation monad.

Attributes

final def pure[A](a: A): Computation[A, ThisEffect]

Like !!.pure(a), but with effect-set up-casted to ThisEffect

Like !!.pure(a), but with effect-set up-casted to ThisEffect

Attributes