[Haskell] ANNOUNCE: swapper: Transparently swapping data from in-memory structures to disk

Roman Smrž roman.smrz at seznam.cz
Tue Aug 30 13:49:23 CEST 2011


On Tue, Aug 30, 2011 at 12:24:44AM +0200, Jeremy Shaw wrote:
> Lemmih and I have talked about doing something like this in theory.
> But having it in reality is much, much better :)

It's nice to hear that someone's interested :)

> Have you considered switching to acid-state and safecopy? Future
> versions of happstack will use those instead of happstack-data and
> happstack-state. (And, there is no reason you can not use them with
> Happstack 6 already).

Since the interface of safecopy and acid-state looks quite similar to
the one of happstack-data + happstack-state, that should not be a
problem. Since most of the code is independent of these libraries, it
would be possible to support both, but that would entail either
declaring dependencies on all of those or providing separate packages
for the interoperability parts, and if happstack-state is going to be
more or less deprecated, it is probably not worth the hassle.

Although what I would ideally need as an interface for
happstack/acid-state would be a variant Serialize/SafeCopy, which would
allow IO actions to be performed during serialization/deserialization.
This is currently achieved in a bit hackish way using a wrapper around
createCheckpoint, which ensures that for each datafile prefix only one
actual serialization/deserialization of Swapper takes place, regardless
of how many times are those evaluated. But it also means that only one
from a group of related Swappers (those descended from a single call to
mkSwapper), may be present in the serialized state. Though maybe some
cleverer approach can solve this problem.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://www.haskell.org/pipermail/haskell/attachments/20110830/be963217/attachment.pgp>

More information about the Haskell mailing list