PolyGraph

turbolift.effects.PolyGraph
trait PolyGraph[K, V] extends Effect[PolyGraphSignature[K, V]], PolyGraphSignature[K, V]

Attributes

Graph
Supertypes
trait PolyGraphSignature[K, V]
trait Effect[PolyGraphSignature[K, V]]
trait CanPerform[PolyGraphSignature[K, V]]
trait Signature
class Object
trait Matchable
class Any
Show all
Self type
PolyGraph[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 ThisEffect = Effect.this.type

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

Inherited from:
Effect

Value members

Concrete methods

final def at(k: K): AtApply
final override def binary(to: K, from1: K, from2: K)(f: (V, V) => V): Computation[Unit, this.type]

Attributes

Definition Classes
final override def const(to: K, value: V): Computation[Unit, this.type]

Attributes

Definition Classes
final override def empty(to: K): Computation[Unit, this.type]

Attributes

Definition Classes
final def fold(to: K, froms: Vector[K], initial: V)(f: (V, V) => V): Computation[Unit, this.type]
def handler: V => impl.ThisHandler[Identity, Tuple2, Any]

Default handler for this effect.

Default handler for this effect.

Attributes

final override def identity(to: K, from: K): Computation[Unit, this.type]

Attributes

Definition Classes
final def reduce(to: K, froms: Vector[K])(f: (V, V) => V): Computation[Unit, this.type]
final override def unary(to: K, from: K)(f: V => V): Computation[Unit, this.type]

Attributes

Definition Classes
final override def variadic(to: K, froms: Vector[K])(f: (Vector[V]) => V): Computation[Unit, this.type]

Attributes

Definition Classes

Inherited methods

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

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 inline def perform[A, U <: ThisEffect](inline f: (PolyGraphSignature[K, V] & Signature { type ThisEffect = U; }) => Computation[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[PolyGraph[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] =>> this.impl.ThisHandler[F, G, N]
Exported from EffectImpl

Attributes

Inherited from:
Effect