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.type
object Fail.type
object Console.type
trait ErrorSignature[E, E1]
trait ErrorEffect[E, E1]
trait Error[E]
trait ErrorK[F, E]
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 FlowFeatures
trait ForkJoin
class Flow
class Stateful[S, F]
class Stateful[S, F]
class Stateless[F]
class Stateless[F]
class Proxy[Fx]
class Proxy[Fx]
class ProxyIO
class ProxyIO
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