summaryrefslogtreecommitdiff
path: root/src/Erebos/Storage.hs
blob: 3b2ce4a3fdb4269895114512e8e506e5cba73894 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
{-|
Description: Working with storage and heads

Provides functions for opening 'Storage' backed either by disk or memory. For
conveniance also function for working with 'Head's are reexported here.
-}

module Erebos.Storage (
    Storage, PartialStorage,
    openStorage, memoryStorage,
    deriveEphemeralStorage, derivePartialStorage,

    Head, HeadType(..),
    HeadTypeID, mkHeadTypeID,
    headId, headStorage, headRef, headObject, headStoredObject,
    loadHeads, loadHead, reloadHead,
    storeHead, replaceHead, updateHead, updateHead_,
    loadHeadRaw, storeHeadRaw, replaceHeadRaw,

    WatchedHead,
    watchHead, watchHeadWith, unwatchHead,
    watchHeadRaw,

    MonadStorage(..),
) where

import Erebos.Object.Internal