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 !@![+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
final override def binary(to: K, from1: K, from2: K)(f: (V, V) => V): Computation[Unit, PolyGraph]

Attributes

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

Attributes

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

Attributes

Definition Classes
final def fold(to: K, froms: Vector[K], initial: V)(f: (V, V) => V): Computation[Unit, PolyGraph]
def handler: V => Free[Tuple2]

Default handler for this effect.

Default handler for this effect.

Attributes

final override def identity(to: K, from: K): Computation[Unit, PolyGraph]

Attributes

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

Attributes

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

Attributes

Definition Classes

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: PolyGraphSignature[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[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] =>> ThisHandler[F, G, N]
Exported from EffectImpl

Attributes

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

Attributes

Inherited from:
Effect