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.3 - Test for containers >= 0.5, rather than GHC >= 7.6

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

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

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

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

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

  7. 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.

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

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

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

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

  12. 1.0.1 - Minor refactoring

  13. 1 - First release

[Skip to Readme]
Versions 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 Tue Nov 6 22:43:11 UTC 2012
Distributions Arch:, Debian:, Fedora:, LTSHaskell:, NixOS:, Stackage:, openSUSE:
Downloads 21653 total (87 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI




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.