Signature

turbolift.Signature
trait Signature extends AnyRef

Base trait for any user-defined effect signature. Used to define custom Algebra/Service/DSL.

Example:

import turbolift.Signature

trait GoogleSignature extends Signature:
  def countPicturesOf(topic: String): Int !@! ThisEffect

See Defining your own effects and handlers.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait Choice
object Each.type
object Console.type
trait ErrorSignature[E, E1]
trait ErrorEffect[E, E1]
trait Error[E]
trait ErrorG[M, K, V]
trait ErrorGK[M, K, F, V]
trait ErrorK[F, E]
trait IO
object IO.type
trait RandomEffect
object Random.type
trait ReaderSignature[R]
trait Reader[R]
trait StateSignature[S]
trait State[S]
trait WriterSignature[W, W1]
trait WriterEffect[W, W1]
trait Writer[W]
trait WriterG[M, K, V]
trait WriterGK[M, K, F, V]
trait WriterK[F, W]
trait CanPerform[Z]
trait Effect[Z]
trait Interpreter
class Proxy[Fx]
class Proxy[Fx]
class Stateful[F, G, Fx]
class Stateful[F, Fx]
class FromConst[C, G, Fx]
class Free[C, G]
class ToConst[C, D, Fx]
class Free[C, D]
class FromId[G, Fx]
class Free[G]
class ToConst[D, Fx]
class Free[D]
class ToId[Fx]
class Free
class Stateless[F, G, Fx]
class Stateless[F, G, Fx]
class FromConst[C, G, Fx]
class Free[C, G]
class ToConst[C, D, Fx]
class Free[C, D]
class FromId[G, Fx]
class Free[G]
class ToConst[D, Fx]
class Free[D]
class ToId[Fx]
class Free
Show all

Members list

Type members

Types

type !@![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

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