swapper: Transparently swapping data from in-memory structures to disk

[ bsd3, data-structures, library ] [ Propose Tags ]

This package provides a wrapper for functors, which allows their data to be automatically swapped to disk and loaded back when necessary. Although interaction with filesystem is required, whole interface (with exception of initialization) is pure and safe as long as no external manipulation with used database files happens while the program is running. Because only actual data, not indices (in Data.Map.Map, for example), are swapped and some accounting information are remembered for each item, this system is suitable mainly for situations where values are considerably larger then indices. Furthermore, creating complete snapshots to a file of this structure is supported; such snapshot can be then loaded, with individual values being read as they are requested. This package uses the Tokyo Cabinet http://fallabs.com/tokyocabinet/ database, which needs to be installed on the system. A prototype of another data structure, SwapMap, is available in the git repository. It is similar to the Data.Map.Map and like Swapper allows transparent swapping of data to disk, but without requiring any accessory function and with the ability to swap both elements and indices. This one is, however, not complete and thus not provided here.


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 0.1
Dependencies base (>=3 && <5), binary, bytestring, deepseq, happstack-data, happstack-state, parallel [details]
License BSD-3-Clause
Copyright Copyright (C) 2010-2011, Roman Smrž
Author Roman Smrž
Maintainer Roman Smrž <roman.smrz@seznam.cz>
Category Data Structures
Home page http://github.com/roman-smrz/swapper/
Source repo head: git clone git://github.com/roman-smrz/swapper.git
Uploaded by RomanSmrz at 2011-08-29T21:28:27Z
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 1096 total (6 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]