CyclicMemoizer

turbolift.effects.CyclicMemoizer
trait CyclicMemoizer[K, V] extends Effect[CyclicMemoizerSignature[K, V]], CyclicMemoizerSignature[K, V]

Attributes

Graph
Supertypes
trait Effect[CyclicMemoizerSignature[K, V]]
trait CanPerform[CyclicMemoizerSignature[K, V]]
trait Signature
class Object
trait Matchable
class Any
Show all

Members list

Type members

Classlikes

final class FixApply[U]

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 override def domain: Computation[Set[K], CyclicMemoizer]

Attributes

Definition Classes
final def fix[U]: FixApply[U]
def handler: Free

Default handler for this effect.

Default handler for this effect.

Attributes

final override def memo[U <: CyclicMemoizer[K, V]](f: K => Computation[V, U])(k: K): Computation[() => V, U]

Attributes

Definition Classes
final override def toMap: Computation[Map[K, V], CyclicMemoizer]

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: CyclicMemoizerSignature[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

Deprecated and Inherited methods

final def get: Map[K, V] !@! ThisEffect

Attributes

Deprecated
true
Inherited from:
CyclicMemoizerSignature

Inherited fields

val impl: EffectImpl[CyclicMemoizer[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 val ThisHandler: ThisHandler.type
Exported from EffectImpl

Attributes

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

Attributes

Inherited from:
Effect