lrucache: a simple, pure LRU cache

[ bsd3, data, library ] [ Propose Tags ]

This package contains a simple, pure LRU cache, implemented in terms of Data.Map.

It also contains a mutable IO wrapper providing atomic updates to an LRU cache.

Version History:

  1. 1.1.2 - Make actually compatible with containers 0.5 - fix strictness issue

  2. 1.1.1 - Fix containers upper bound for GHC 7.6.

  3. 1.1 - Add an additional modification function for AtomicLRUCache.

  4. 1.0.1 - Update containers constraint to allow containers from ghc-7

  5. 1 - Add a Functor instance for LRUCache. Add a generic modification function for AtomicLRUCache.

  6. 0 - Breaking API changes: 1) The newLRU smart constructor now makes the maximum size optional. 2) The delete function now returns the value removed, if one was. Additionally, a function was added to remove the least-recently used element in the LRU.

  7. 3 - Added a Show instance for LRU. (Requested by Ben Lee)

  8. 2.0.1 - Increase strictness slightly. Remove cabal target for test executable. (Just include test sources instead.)

  9. 2 - Added an Eq instance for LRU. Added strictness to eliminate space leaks in common use patterns.

  10. 1.1 - Add the Data.Cache.LRU.IO.Internal module. Clean up build warnings on GHC 6.12.1.

  11. 1.0.1 - Minor refactoring

  12. 1 - First release

[Skip to Readme]
Versions [faq] 0.1,, 0.1.1, 0.2,, 0.3, 1.0, 1.1,, 1.1.1,,,,,,
Dependencies base (==4.*), containers (>=0.2 && <0.6) [details]
License BSD-3-Clause
Copyright Carl Howells, 2010
Author Carl Howells
Category Data
Home page
Source repo this: git clone
Uploaded by CarlHowells at Mon Nov 5 19:01:37 UTC 2012
Distributions Arch:, Debian:, Fedora:, NixOS:, Stackage:
Downloads 23557 total (355 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user
Build status unknown [no reports yet]




Maintainer's Corner

For package maintainers and hackage trustees

Readme for lrucache-

[back to package description]
This package contains a simple pure LRU cache, implemented in terms of

It also contains a mutable IO wrapper providing atomic updates to an
LRU cache.