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 ChoiceEffect
trait Choice
object Each
object Console
trait ContSignature[R]
trait Cont[R]
trait CoroutineSignature[I, O, R]
trait CoroutineEffect[I, O, R]
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 FinalizerEffect[U]
object Finalizer
trait IO
object IO
trait LazyMemoizerSignature[K, V]
trait LazyMemoizerEffect[K, V]
trait LazyMemoizer[K, V]
trait MaybeEffect
trait Maybe
object Broken
object Maybe
trait MemoizerSignature[K, V]
trait MemoizerEffect[K, V]
trait Memoizer[K, V]
trait RandomEffect
object Random
trait ReaderSignature[R]
trait ReaderEffect[R]
trait Reader[R]
trait StateSignature[S]
trait StateEffect[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, G, Fx]
class Stateless[F, G, Fx]
class Stateless[F, G, Fx]
Show all

Members list

Type members

Types

type ThisEffect

Self-reference to the effect being described by this Signature.

Self-reference to the effect being described by this Signature.

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

Attributes