Memoizer

turbolift.effects.Memoizer$package.Memoizer
case object Memoizer extends PolyMemoizerEffect

Predefined instance of PolyMemoizerEffect effect.

Note that using predefined effect instances like this, is anti-modular. However, they can be convenient in exploratory code.

Attributes

Graph
Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
class Polymorphic_-+[MemoizerEffect, Any, Any]
class Object
trait Matchable
class Any
Show all
Self type
Memoizer.type

Members list

Type members

Inherited classlikes

final class Polymorphize[X, Y]

Helper class for partial type application. Won't be needed in future Scala (SIP-47).

Helper class for partial type application. Won't be needed in future Scala (SIP-47).

Attributes

Inherited from:
Polymorphic_-+
Supertypes
class Object
trait Matchable
class Any
object handlers

Attributes

Inherited from:
PolyMemoizerEffect
Supertypes
class Object
trait Matchable
class Any

Inherited types

type MirroredElemLabels = EmptyTuple

The names of the product elements

The names of the product elements

Attributes

Inherited from:
Singleton
type MirroredElemTypes = EmptyTuple

Attributes

Inherited from:
Singleton
type MirroredMonoType = Singleton.this.type

The mirrored *-type

The mirrored *-type

Attributes

Inherited from:
Singleton
type MirroredType = Singleton.this.type

Attributes

Inherited from:
Singleton

Inherited and Abstract types

type @@[-X, +Y]

Read as Apply

Read as Apply

This effect, but with given type parameters applied.

Attributes

Inherited from:
Polymorphic_-+
type MirroredLabel <: String

The name of the type

The name of the type

Attributes

Inherited from:
Mirror

Value members

Inherited methods

final def domain[K, V]: Computation[Set[K], K @@ V]

Attributes

Inherited from:
PolyMemoizerEffect
def fromProduct(p: Product): MirroredMonoType

Create a new instance of type T with elements taken from product p.

Create a new instance of type T with elements taken from product p.

Attributes

Inherited from:
Singleton
final def memo[K, V](k: K): Computation[V, K @@ V]

Attributes

Inherited from:
PolyMemoizerEffect
inline def polymorphize[X, Y]: Polymorphize[X, Y]

API for defining custom effects.

API for defining custom effects.

Attributes

Inherited from:
Polymorphic_-+
def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product
final def toMap[K, V]: Computation[Map[K, V], K @@ V]

Attributes

Inherited from:
PolyMemoizerEffect

Inherited fields

protected val monomorphic: MemoizerEffect[Any, Any]

Attributes

Inherited from:
Polymorphic_-+