MonoGraph

turbolift.effects.MonoGraph
trait MonoGraph[K, V] extends Effect[MonoGraphSignature[K, V]], MonoGraphSignature[K, V]

Attributes

Graph
Supertypes
trait MonoGraphSignature[K, V]
trait Effect[MonoGraphSignature[K, V]]
trait CanPerform[MonoGraphSignature[K, V]]
trait Signature
class Object
trait Matchable
class Any
Show all
Self type
MonoGraph[K, V]

Members list

Type members

Classlikes

final class AtApply(k: K)

Attributes

Supertypes
class Object
trait Matchable
class Any

Inherited 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 from:
CanPerform
final override type ThisEffect = Effect.this.type

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:
Effect

Value members

Concrete methods

final def at(k: K): AtApply
def empty(to: K): Computation[Unit, MonoGraph]
def handler(implicit M: Monoid[V]): Free[Tuple2]

Predefined handler for this effect.

Predefined handler for this effect.

Attributes

def handler(zero: V, combine: (V, V) => V): Free[Tuple2]

Predefined handler for this effect.

Predefined handler for this effect.

Attributes

def incoming(to: K, from: K): Computation[Unit, MonoGraph]
def incomingConst(to: K, value: V): Computation[Unit, MonoGraph]
def incomings(to: K, froms: IterableOnce[K]): Computation[Unit, MonoGraph]
def outgoing(from: K, to: K): Computation[Unit, MonoGraph]
def outgoingConst(from: K, value: V): Computation[Unit, MonoGraph]
def outgoings(from: K, tos: IterableOnce[K]): Computation[Unit, MonoGraph]

Inherited methods

final def &![Fx2 <: Signature](fx2: Fx2): Combine2[Effect, Fx2]

Combines with another Effect instance, for the purpose of sharing an Interpreter.

Combines with another Effect instance, for the purpose of sharing an Interpreter.

Attributes

Inherited from:
Effect
final def perform[A, U <: ThisEffect](f: (z: MonoGraphSignature[K, V] & 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

Inherited from:
CanPerform

Inherited fields

val impl: EffectImpl[MonoGraph[K, V]]

Object containing type definitions, to be used for implementing Interpreters for this effect.

Object containing type definitions, to be used for implementing Interpreters for this effect.

Attributes

Inherited from:
Effect

Exports

Inherited defined exports

final type ThisHandler = [F[_], G[_], N] =>> ThisHandler[F, G, N]
Exported from EffectImpl

Attributes

Inherited from:
Effect
final val ThisHandler: ThisHandler.type
Exported from EffectImpl

Attributes

Inherited from:
Effect