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
object Alternative
trait ChoiceEffect
object 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 ErrorEffectExt[E, E1]
trait ErrorEffect[E]
trait ErrorEffectG[M, K, V]
trait ErrorEffectGK[M, K, F, V]
trait ErrorEffectK[F, E]
trait IO
object IO
trait LazyMemoizerSignature[K, V]
trait LazyMemoizerEffect[K, V]
trait MaybeEffect
object Broken
object Maybe
trait MemoizerSignature[K, V]
trait MemoizerEffect[K, V]
trait RandomEffect
object Random
trait ReaderSignature[R]
trait ReaderEffect[R]
trait ResourceEffect[U]
object ResourceIO
trait StateSignature[S]
trait StateEffect[S]
trait WriterSignature[W, W1]
trait WriterEffectExt[W, W1]
trait WriterEffect[W]
trait WriterEffectG[M, K, V]
trait WriterEffectGK[M, K, F, V]
trait WriterEffectK[F, W]
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