Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

44 lines (30 sloc) 1.944 kb

core.memoize v0.5.1 Release Notes

core.memoize is a new Clojure contrib library providing the following features:

  • An underlying PluggableMemoization protocol that allows the use of customizable and swappable memoization caches that adhere to the synchronous CacheProtocol found in core.cache

  • Memoization builders for implementations of common caching strategies, including:

    • First-in-first-out (memo-fifo)
    • Least-recently-used (memo-lru)
    • Least-used (memo-lu)
    • Time-to-live (memo-ttl)
    • Naive cache (memo) that duplicates the functionality of Clojure's memoize function
  • Functions for manipulating the memoization cache of core.memoize backed functions

core.memoize is based on a library named Unk, found at http://github.com/fogus/unk that is planned for deprecation.

Changes from Unk

The v0.5.1 version of core.memoize is based almost wholly on the final version of Unk, with the following changes:

  • All cache factory functions have been moved to core.cache
  • The SoftCache backed implementation was buggy and removed for now

Plans

The following capabilities are under design, development, or consideration for future versions of core.memoize:

  • LIRS backed memoization
  • A defn-memo macro
  • A MapMaker style ctor interface
  • Reimplementation of a cache based on soft references
  • test.generative usage
  • Deprecation of Unk
  • Documentation and examples

More planning is needed around capabilities not listed nor thought of.

Jump to Line
Something went wrong with that request. Please try again.