Generic memoization utility class


_ <- fat.extra.Memo


Name Signature Brief
Memo (method: Method) Create a Memo instance for a method

Prototype members

Name Signature Brief
asMethod (): Method Return a curried version of Memo
call (arg: Any): Any Memoized call; cache and return results


Memo is useful for optimizing functions by caching results. It stores the outcome of function calls and returns the cached result when the same inputs occur again.

_ <- fat.extra.Memo

fib = (n: Number) -> {
  n <= 2 => 1
  _      => quickFib(n - 1) + quickFib(n - 2)

memoInstance = Memo(fib)
quickFib = memoInstance.asMethod

quickFib(50)  # 12586269025

You can now call quickFib as if you were calling fib, but with cached results for previously computed inputs.

caveat: may cause memory allocation build-up

results matching ""

    No results matching ""