A manipulable, pluggable, memoization framework for Clojure
Clojure Ruby
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 3 commits ahead of paraseba:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src/fogus
test/unk/test
.gitignore
README.md
project.clj
watching.rb

README.md

unk

A pluggable, manipulable memoization framework for Clojure.

done

  • pluggable memoization
  • manipulable memoization
  • a memo function to replace core.memoize
  • a fifo memoization strategy
  • lru memoization
  • soft references memoization
  • expiry memoization

todo

  • swappable memoization strategies
  • composable strategies (via map interfaces)
  • pass-through cache
  • LIRS
  • more docs and examples
  • cache profiling
  • code cleanup

credits

unk is inspired by section 12.4 in The Joy of Clojure which is in turn inspired by the memoization philosophy espoused by Christophe Grand, Eugen Dück, and Meikel Brandmeyer. In addition, I would like to thank Chas Emerick for his memoization based on SoftReferences.

License

Copyright (C) 2011 Fogus

Distributed under the Eclipse Public License, the same as Clojure.