Safe Haskell | None |
---|
- 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
- type Cache = LRU (Len Word64 Word64) Dynamic
- module Cgm.Data.Structured
Documentation
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 whereSource
class Persistent1 r whereSource
persister1 :: (Typeable a, Persistent a) => Persister (r a)Source
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
persister1_ :: Persister (r a)Source
class LgPersistent1_ r whereSource
lgPersister1_ :: LgMultiple Word64 w => Persister (r w)Source
data RefPersister r whereSource
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
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.
Deref r => Functor (CRef r) | |
(RefPersistent r, Persistent1 r) => Persistent1 (CRef r) | |
RefPersistent r => RefPersistent (CRef r) | |
Deref 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) |
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
Word32ArrayRef !(r32 r) | |
Word64ArrayRef !(r64 r) |
(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
WordNArrayRef !v !(r (ValidatedElem v)) !Endianness |
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
Functor r => Functor (IRef r) | |
Applicative r => Applicative (IRef r) | |
Persistent1 r => Persistent1 (IRef r) | |
RefPersistent r => RefPersistent (IRef r) | |
Deref 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) |
Ref0 a |
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