Packages

trait MemoEffect extends MemoTypes with MemoCreation with MemoInterpretation

Memoization effect

Memoize a computation for a given key

This effect can be interpreted with a cache implemented with many different libraries. See Cache.scala for 2 default implementations:

  • one concurrent hashmap (meaning an unbounded cache)
  • one concurrent hashmap with weak references (to evict entries based on garbage collection)

You can implement your own version using ScalaCache for example

Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. MemoEffect
  2. MemoInterpretation
  3. MemoCreation
  4. MemoTypes
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. type _Memo[R] = Member[Memoized, R]
    Definition Classes
    MemoTypes
  2. type _memo[R] = MemberIn[Memoized, R]
    Definition Classes
    MemoTypes

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  9. def getCache[R](implicit arg0: _memo[R]): Eff[R, Cache]
    Definition Classes
    MemoCreation
  10. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. def memoize[R, A](key: AnyRef, a: => A)(implicit arg0: _memo[R]): Eff[R, A]
    Definition Classes
    MemoCreation
  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  17. def runFutureMemo[R, U, A](cache: Cache)(effect: Eff[R, A])(implicit m: Aux[Memoized, R, U], future: |=[TimedFuture, U]): Eff[U, A]
    Definition Classes
    MemoInterpretation
  18. def runMemo[R, U, A](cache: Cache)(effect: Eff[R, A])(implicit m: Aux[Memoized, R, U], eval: |=[Eval, U]): Eff[U, A]
    Definition Classes
    MemoInterpretation
  19. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  20. def toString(): String
    Definition Classes
    AnyRef → Any
  21. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  22. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  23. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from MemoInterpretation

Inherited from MemoCreation

Inherited from MemoTypes

Inherited from AnyRef

Inherited from Any

Ungrouped