| Safe Haskell | None |
|---|
Database.Perdure.Persistent
- data Persister a where
- PartialWordPersister :: !(Len Bool Word) -> Persister Word
- PairPersister :: !(Persister a) -> !(Persister b) -> Persister (a, b)
- EitherPersister :: !(Persister a) -> !(Persister b) -> Persister (Either a b)
- ViewPersister :: !(InjectionA' a b) -> Persister b -> Persister a
- SummationPersister :: !(Persister i) -> !(forall z. (forall b. Persister b -> (b -> a) -> z) -> i -> z) -> !(forall z. (forall b. i -> Persister b -> (b -> a) -> b -> z) -> a -> z) -> Persister a
- DRefPersister' :: (Typeable a, Persistent a) => Persister (DRef a)
- CRefPersister' :: (Typeable a, Persistent a) => !(RefPersister r) -> !(Persister (r a)) -> Persister (CRef r a)
- class Persistent a where
- class Persistent1 r where
- persister1 :: (Typeable a, Persistent a) => Persister (r a)
- class Persistent1_ r where
- persister1_ :: Persister (r a)
- class LgPersistent1_ r where
- lgPersister1_ :: LgMultiple Word64 w => Persister (r w)
- data RefPersister r where
- Ref0Persister :: RefPersister Ref0
- RefView :: (forall a. rb a -> ra a) -> RefPersister rb -> RefPersister ra
- SizeRefPersister :: Len Bool Word -> RefPersister (Sum Ref0 DRef)
- CRefPersister :: RefPersister r -> RefPersister (CRef r)
- DRefPersister :: RefPersister DRef
- IRefPersister :: RefPersister r -> RefPersister (IRef r)
- class RefPersistent r where
- refPersister :: RefPersister r
- (&.) :: Persister a -> Persister b -> Persister (a, b)
- (|.) :: Persister a -> Persister b -> Persister (Either a b)
- lenPersister :: Persister a -> Persister (Len u a)
- summationPersister :: Persister i -> (forall z. (forall b. Persister b -> (b -> a) -> z) -> i -> z) -> (forall z. (forall b. i -> Persister b -> (b -> a) -> b -> z) -> a -> z) -> Persister a
- ratioPersister :: Integral a => Persister a -> Persister (Ratio a)
- maybePersister :: Persister a -> Persister (Maybe a)
- shortcutPersister :: InjectionM i => i a b -> Persister b -> Persister a -> Persister b
- (>.) :: Super a b => Persister b -> Persister a -> Persister b
- listPersister :: List a => Persister (Listed a) -> Persister a
- data ReplicatedFile
- data CRef r a
- onCRef :: (r a -> b) -> (a -> b) -> CRef r a -> b
- data DeserializerContext = forall f . (StoreFile f, StoreRef f ~ BasicRef) => DeserializerContext {}
- data DRef a where
- data WordArrayRef r32 r64 r
- = Word32ArrayRef !(r32 r)
- | Word64ArrayRef !(r64 r)
- data WordNArrayRef v r = WordNArrayRef !v !(r (ValidatedElem v)) !Endianness
- type WArrayRef = WordArrayRef (WordNArrayRef W32Validator) (WordNArrayRef W64Validator)
- newtype IRef r t = IRef {
- getIRef :: r t
- newtype Ref0 a = Ref0 a
- type CDRef = CRef DRef
- data Cache
- module Cgm.Data.Structured
Documentation
Constructors
| PartialWordPersister :: !(Len Bool Word) -> Persister Word | |
| PairPersister :: !(Persister a) -> !(Persister b) -> Persister (a, b) | |
| EitherPersister :: !(Persister a) -> !(Persister b) -> Persister (Either a b) | |
| ViewPersister :: !(InjectionA' a b) -> Persister b -> Persister a | |
| SummationPersister :: !(Persister i) -> !(forall z. (forall b. Persister b -> (b -> a) -> z) -> i -> z) -> !(forall z. (forall b. i -> Persister b -> (b -> a) -> b -> z) -> a -> z) -> Persister a | |
| DRefPersister' :: (Typeable a, Persistent a) => Persister (DRef a) | |
| CRefPersister' :: (Typeable a, Persistent a) => !(RefPersister r) -> !(Persister (r a)) -> Persister (CRef r a) |
Instances
class Persistent a whereSource
Instances
class Persistent1 r whereSource
Methods
persister1 :: (Typeable a, Persistent a) => Persister (r a)Source
Instances
| Persistent1 Ref0 | |
| Persistent1 DRef | |
| (RefPersistent r, Persistent1 r) => Persistent1 (CRef r) | |
| Persistent1 r => Persistent1 (IRef r) | |
| Persistent1 (SizeRef n) | |
| (Persistent1 ra, Persistent1 rb) => Persistent1 (Sum ra rb) |
class Persistent1_ r whereSource
Methods
persister1_ :: Persister (r a)Source
class LgPersistent1_ r whereSource
Methods
lgPersister1_ :: LgMultiple Word64 w => Persister (r w)Source
Instances
data RefPersister r whereSource
Constructors
| Ref0Persister :: RefPersister Ref0 | |
| RefView :: (forall a. rb a -> ra a) -> RefPersister rb -> RefPersister ra | |
| SizeRefPersister :: Len Bool Word -> RefPersister (Sum Ref0 DRef) | |
| CRefPersister :: RefPersister r -> RefPersister (CRef r) | |
| DRefPersister :: RefPersister DRef | |
| IRefPersister :: RefPersister r -> RefPersister (IRef r) |
class RefPersistent r whereSource
Methods
Instances
| RefPersistent Ref0 | |
| RefPersistent DRef | |
| RefPersistent r => RefPersistent (CRef r) | |
| RefPersistent r => RefPersistent (IRef r) | |
| Nat n => RefPersistent (SizeRef n) |
lenPersister :: Persister a -> Persister (Len u a)Source
summationPersister :: Persister i -> (forall z. (forall b. Persister b -> (b -> a) -> z) -> i -> z) -> (forall z. (forall b. i -> Persister b -> (b -> a) -> b -> z) -> a -> z) -> Persister aSource
maybePersister :: Persister a -> Persister (Maybe a)Source
Persister for 'Maybe a' built from a specified a persister. Uses a single bit to represent Nothing.
shortcutPersister :: InjectionM i => i a b -> Persister b -> Persister a -> Persister bSource
Takes persisters for 2 types, and an injection from the smaller type a to the larger type b, and gives a
persister for the larger type which uses the smaller type representation when possible, plus one bit to identify
which representation is used.
(>.) :: Super a b => Persister b -> Persister a -> Persister bSource
Specialization of shortcutPersister with the super injection.
listPersister :: List a => Persister (Listed a) -> Persister aSource
Persister for lists built from a specified element persister.
data ReplicatedFile Source
A list of LocalStoreFile to be used as replicates. We write to all replicates and read from the first one that reports no error.
Instances
| Deref r => Functor (CRef r) | |
| (RefPersistent r, Persistent1 r) => Persistent1 (CRef r) | |
| RefPersistent r => RefPersistent (CRef r) | |
| Deref r => Deref (CRef r) | |
| (Deref (CRef r), Deref r) => Ref (CRef r) | |
| (Deref r, Eq a) => Eq (CRef r a) | |
| (Deref r, Show a) => Show (CRef r a) | |
| (Typeable1 r, Typeable a) => Typeable (CRef r a) | |
| (RefPersistent r, Persistent1 r, Typeable a, Persistent a) => Persistent (CRef r a) |
Constructors
| DRef :: Typeable a => !(Persister a) -> !DeserializerContext -> !(WArrayRef BasicRef) -> DRef a |
Instances
| Typeable1 DRef | |
| Persistent1 DRef | |
| RefPersistent DRef | |
| Deref DRef | |
| Eq a => Eq (DRef a) | |
| Show a => Show (DRef a) | |
| (Typeable a, Persistent a) => Persistent (DRef a) |
data WordArrayRef r32 r64 r Source
Constructors
| Word32ArrayRef !(r32 r) | |
| Word64ArrayRef !(r64 r) |
Instances
| (ArrayRef r32, ArrayRef r64, ~ * (ArrayRefElem r32) Word32, ~ * (ArrayRefElem r64) Word64) => ArrayRef (WordArrayRef r32 r64) | When we write Words and read them back on a platform with a different Word size, the array length changes, and each Word64 is replaced by two consecutive Words32 (least-significant first), (the reverse substitution is applied when going from Word32 to Word64, with an implicit 0 at the end when the size is odd) |
| Structured (WordArrayRef r320 r640 r0) | |
| (Persistent (r32 r), Persistent (r64 r)) => Persistent (WordArrayRef r32 r64 r) |
data WordNArrayRef v r Source
Constructors
| WordNArrayRef !v !(r (ValidatedElem v)) !Endianness |
Instances
| WordNValidator v => ArrayRef (WordNArrayRef v) | |
| Structured (WordNArrayRef v0 r0) | |
| (Persistent v, LgPersistent1_ r, LgMultiple Word64 (ValidatedElem v)) => Persistent (WordNArrayRef v r) |
type WArrayRef = WordArrayRef (WordNArrayRef W32Validator) (WordNArrayRef W64Validator)Source
Instances
| Functor r => Functor (IRef r) | |
| (Functor (IRef r), Applicative r) => Applicative (IRef r) | |
| Persistent1 r => Persistent1 (IRef r) | |
| RefPersistent r => RefPersistent (IRef r) | |
| Deref r => Deref (IRef r) | |
| (Deref (IRef r), Ref r) => Ref (IRef r) | |
| (Deref r, Eq t) => Eq (IRef r t) | |
| (Deref r, Show t) => Show (IRef r t) | |
| Structured (IRef r0 t0) | |
| (Persistent1 r, Typeable a, Persistent a) => Persistent (IRef r a) |
Constructors
| Ref0 a |
Instances
| Functor Ref0 | |
| Persistent1 Ref0 | |
| RefPersistent Ref0 | |
| Deref Ref0 | |
| Ref Ref0 | |
| Eq a => Eq (Ref0 a) | |
| Show a => Show (Ref0 a) | |
| Structured (Ref0 a0) | |
| Persistent a => Persistent (Ref0 a) |
module Cgm.Data.Structured