Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data Impossible = Impossible
- data ImpossibleM a = ImpossibleM
- type ImpTL = `[Impossible]`
- impossible :: t
- type family Container a
- type family Item a
- type family DataStore a
- type HasContainer = HasContainerM Identity
- class HasContainerM m a where
- viewContainerM :: a -> m (Container a)
- setContainerM :: Container a -> a -> m a
- type IsContainer = IsContainerM Identity
- class HasContainerM m a => IsContainerM m a where
- fromContainerM :: Container a -> m a
- container :: HasContainer a => Lens' a (Container a)
- fromContainer :: IsContainer a => Container a -> a
- withContainerM :: (Monad m, HasContainerM m a) => (Container a -> m (Container a)) -> a -> m a
- withContainerM' :: (Monad m, HasContainerM m a) => (Container a -> Container a) -> a -> m a
- type family PrimStoreOf a
- type family PrimStoreOf' t a
- data Info idx el cont = Info idx el cont
- type PrimInfo = Info Unknown Unknown
- type ElInfo el = Info Unknown (Known el)
- type IdxInfo idx = Info (Known idx) Unknown
- type IdxElInfo idx el = Info (Known idx) (Known el)
- data Res datas a = Res datas a
- type Result op info mods = Res (Result_ op info mods)
- type PrimResult op ms a = Result op (PrimInfo a) ms
- type ElResult op ms el a = Result op (ElInfo el a) ms
- type IdxResult op ms idx a = Result op (IdxInfo idx a) ms
- type IdxElResult op ms idx el a = Result op (IdxElInfo idx el a) ms
- type family Result_ op info mods
- type family IdxMod op ix
- type family ModResult op info mod
- type family GetOpts m :: [*]
- class Ctx ms m cont => MeasurableQM ms ps m cont where
- sizeQM :: Query ms ps -> cont -> m (PrimResult MeasurableOp ms (Container cont) Int)
- class Ctx ms m cont => MinBoundedQM ms ps m idx cont where
- minBoundQM :: Query ms ps -> cont -> m (IdxResult MinBoundedOp ms idx (Container cont) idx)
- class Ctx ms m cont => MaxBoundedQM ms ps m idx cont where
- maxBoundQM :: Query ms ps -> cont -> m (IdxResult MaxBoundedOp ms idx (Container cont) idx)
- data MeasurableOp = MeasurableOp
- type MeasurableM = Simple MeasurableQM
- type MeasurableQ ms ps = MeasurableQM ms ps Identity
- type Measurable = Simple MeasurableQM Identity
- data MinBoundedOp = MinBoundedOp
- type MinBoundedM = Simple MinBoundedQM
- type MinBoundedQ ms ps = MinBoundedQM ms ps Identity
- type MinBounded = Simple MinBoundedQM Identity
- data MaxBoundedOp = MaxBoundedOp
- type MaxBoundedM = Simple MaxBoundedQM
- type MaxBoundedQ ms ps = MaxBoundedQM ms ps Identity
- type MaxBounded = Simple MaxBoundedQM Identity
- type BoundedQM ms ps m idx cont = (MinBoundedQM ms ps m idx cont, MaxBoundedQM ms ps m idx cont)
- type BoundedM m idx cont = Simple MaxBoundedQM m idx cont
- type BoundedQ ms ps m idx cont = MaxBoundedQM ms ps Identity idx cont
- type Bounded idx cont = BoundedM Identity idx cont
- sizeM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> m (Res (Result_ MeasurableOp (PrimInfo (Container cont)) ms) Int)) a, MeasurableQM ms ps m cont) => a
- size' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> Res (Result_ MeasurableOp (PrimInfo (Container cont)) ms) Int) c, MeasurableQM ms ps Identity cont) => c
- sizeM :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> f b) a, RTup2TupX (Int, Result_ MeasurableOp (PrimInfo (Container cont)) ms) b, MeasurableQM ms ps f cont) => a
- size :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> b) c, RTup2TupX (Int, Result_ MeasurableOp (PrimInfo (Container cont)) ms) b, MeasurableQM ms ps Identity cont) => c
- minBoundM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> m (Res (Result_ MinBoundedOp (IdxInfo idx (Container cont)) ms) idx)) a, MinBoundedQM ms ps m idx cont) => a
- minBound' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> Res (Result_ MinBoundedOp (IdxInfo idx (Container cont)) ms) idx) c, MinBoundedQM ms ps Identity idx cont) => c
- minBoundM :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> f b) a, RTup2TupX (t, Result_ MinBoundedOp (IdxInfo t (Container cont)) ms) b, MinBoundedQM ms ps f t cont) => a
- minBound :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> b) c, RTup2TupX (t, Result_ MinBoundedOp (IdxInfo t (Container cont)) ms) b, MinBoundedQM ms ps Identity t cont) => c
- maxBoundM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> m (Res (Result_ MaxBoundedOp (IdxInfo idx (Container cont)) ms) idx)) a, MaxBoundedQM ms ps m idx cont) => a
- maxBound' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> Res (Result_ MaxBoundedOp (IdxInfo idx (Container cont)) ms) idx) c, MaxBoundedQM ms ps Identity idx cont) => c
- maxBoundM :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> f b) a, RTup2TupX (t, Result_ MaxBoundedOp (IdxInfo t (Container cont)) ms) b, MaxBoundedQM ms ps f t cont) => a
- maxBound :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> b) c, RTup2TupX (t, Result_ MaxBoundedOp (IdxInfo t (Container cont)) ms) b, MaxBoundedQM ms ps Identity t cont) => c
- class Ctx ms m cont => SingletonQM ms ps m el cont where
- singletonQM :: Query ms ps -> el -> m (ElResult SingletonOp ms el (Container cont) cont)
- class Ctx ms m cont => ExpandableQM ms ps m cont where
- expandQM :: Query ms ps -> cont -> m (PrimResult ExpandableOp ms (Container cont) cont)
- class Ctx ms m cont => AllocableQM ms ps m cont where
- allocQM :: Query ms ps -> Int -> m (PrimResult AllocableOp ms (Container cont) cont)
- class Ctx ms m cont => GrowableQM ms ps m cont where
- growQM :: Query ms ps -> Int -> cont -> m (PrimResult GrowableOp ms (Container cont) cont)
- data SingletonOp = SingletonOp
- type SingletonM = Simple SingletonQM
- type SingletonQ ms ps = SingletonQM ms ps Identity
- type Singleton = Simple SingletonQM Identity
- data AllocableOp = AllocableOp
- type AllocableM = Simple AllocableQM
- type AllocableQ ms ps = AllocableQM ms ps Identity
- type Allocable = Simple AllocableQM Identity
- data ExpandableOp = ExpandableOp
- type ExpandableM = Simple ExpandableQM
- type ExpandableQ ms ps = ExpandableQM ms ps Identity
- type Expandable = Simple ExpandableQM Identity
- data GrowableOp = GrowableOp
- type GrowableM = Simple GrowableQM
- type GrowableQ ms ps = GrowableQM ms ps Identity
- type Growable = Simple GrowableQM Identity
- singletonM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> m (Res (Result_ SingletonOp (ElInfo el (Container cont)) ms) cont)) a, SingletonQM ms ps m el cont) => a
- singleton' :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> Res (Result_ SingletonOp (ElInfo el (Container cont)) ms) cont) c, SingletonQM ms ps Identity el cont) => c
- singletonM :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> f b) a, RTup2TupX (t, Result_ SingletonOp (ElInfo el (Container t)) ms) b, SingletonQM ms ps f el t) => a
- singleton :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> b) c, RTup2TupX (t, Result_ SingletonOp (ElInfo el (Container t)) ms) b, SingletonQM ms ps Identity el t) => c
- allocM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> Int -> m (Res (Result_ AllocableOp (PrimInfo (Container cont)) ms) cont)) a, AllocableQM ms ps m cont) => a
- alloc' :: (FuncTrans ([] *) ([] *) (Query ms ps -> Int -> Res (Result_ AllocableOp (PrimInfo (Container cont)) ms) cont) c, AllocableQM ms ps Identity cont) => c
- allocM :: (FuncTrans ([] *) ([] *) (Query ms ps -> Int -> f b) a, RTup2TupX (t, Result_ AllocableOp (PrimInfo (Container t)) ms) b, AllocableQM ms ps f t) => a
- alloc :: (FuncTrans ([] *) ([] *) (Query ms ps -> Int -> b) c, RTup2TupX (t, Result_ AllocableOp (PrimInfo (Container t)) ms) b, AllocableQM ms ps Identity t) => c
- expandM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> m (Res (Result_ ExpandableOp (PrimInfo (Container cont)) ms) cont)) a, ExpandableQM ms ps m cont) => a
- expand' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> Res (Result_ ExpandableOp (PrimInfo (Container cont)) ms) cont) c, ExpandableQM ms ps Identity cont) => c
- expandM :: (FuncTrans ([] *) ([] *) (Query ms ps -> t -> f b) a, RTup2TupX (t, Result_ ExpandableOp (PrimInfo (Container t)) ms) b, ExpandableQM ms ps f t) => a
- expand :: (FuncTrans ([] *) ([] *) (Query ms ps -> t -> b) c, RTup2TupX (t, Result_ ExpandableOp (PrimInfo (Container t)) ms) b, ExpandableQM ms ps Identity t) => c
- growM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> Int -> cont -> m (Res (Result_ GrowableOp (PrimInfo (Container cont)) ms) cont)) a, GrowableQM ms ps m cont) => a
- grow' :: (FuncTrans ([] *) ([] *) (Query ms ps -> Int -> cont -> Res (Result_ GrowableOp (PrimInfo (Container cont)) ms) cont) c, GrowableQM ms ps Identity cont) => c
- growM :: (FuncTrans ([] *) ([] *) (Query ms ps -> Int -> t -> f b) a, RTup2TupX (t, Result_ GrowableOp (PrimInfo (Container t)) ms) b, GrowableQM ms ps f t) => a
- grow :: (FuncTrans ([] *) ([] *) (Query ms ps -> Int -> t -> b) c, RTup2TupX (t, Result_ GrowableOp (PrimInfo (Container t)) ms) b, GrowableQM ms ps Identity t) => c
- class Ctx ms m cont => AppendableQM ms ps m el cont where
- appendQM :: Query ms ps -> el -> cont -> m (ElResult AppendableOp ms el (Container cont) cont)
- class Ctx ms m cont => PrependableQM ms ps m el cont where
- prependQM :: Query ms ps -> el -> cont -> m (ElResult PrependableOp ms el (Container cont) cont)
- class Ctx ms m cont => AddableQM ms ps m el cont where
- class Ctx ms m cont => RemovableQM ms ps m el cont where
- removeQM :: Query ms ps -> el -> cont -> m (ElResult RemovableOp ms el (Container cont) cont)
- class Ctx ms m cont => InsertableQM ms ps m idx el cont where
- insertQM :: Query ms ps -> idx -> el -> cont -> m (IdxElResult InsertableOp ms idx el (Container cont) cont)
- class Ctx ms m cont => FreeableQM ms ps m idx cont where
- freeQM :: Query ms ps -> idx -> cont -> m (IdxResult FreeableOp ms idx (Container cont) cont)
- class Ctx ms m cont => ReservableQM ms ps m cont where
- reserveQM :: Query ms ps -> cont -> m (PrimResult ReservableOp ms (Container cont) cont)
- data AppendableOp = AppendableOp
- type AppendableM = Simple AppendableQM
- type AppendableQ ms ps = AppendableQM ms ps Identity
- type Appendable = Simple AppendableQM Identity
- data PrependableOp = PrependableOp
- type PrependableM = Simple PrependableQM
- type PrependableQ ms ps = PrependableQM ms ps Identity
- type Prependable = Simple PrependableQM Identity
- data AddableOp = AddableOp
- type AddableM = Simple AddableQM
- type AddableQ ms ps = AddableQM ms ps Identity
- type Addable = Simple AddableQM Identity
- data RemovableOp = RemovableOp
- type RemovableM = Simple RemovableQM
- type RemovableQ ms ps = RemovableQM ms ps Identity
- type Removable = Simple RemovableQM Identity
- data InsertableOp = InsertableOp
- type InsertableM = Simple InsertableQM
- type InsertableQ ms ps = InsertableQM ms ps Identity
- type Insertable = Simple InsertableQM Identity
- data FreeableOp = FreeableOp
- type FreeableM = Simple FreeableQM
- type FreeableQ ms ps = FreeableQM ms ps Identity
- type Freeable = Simple FreeableQM Identity
- data ReservableOp = ReservableOp
- type ReservableM = Simple ReservableQM
- type ReservableQ ms ps = ReservableQM ms ps Identity
- type Reservable = Simple ReservableQM Identity
- appendM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> cont -> m (Res (Result_ AppendableOp (ElInfo el (Container cont)) ms) cont)) a, AppendableQM ms ps m el cont) => a
- append' :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> cont -> Res (Result_ AppendableOp (ElInfo el (Container cont)) ms) cont) c, AppendableQM ms ps Identity el cont) => c
- appendM :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> t -> f b) a, RTup2TupX (t, Result_ AppendableOp (ElInfo el (Container t)) ms) b, AppendableQM ms ps f el t) => a
- append :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> t -> b) c, RTup2TupX (t, Result_ AppendableOp (ElInfo el (Container t)) ms) b, AppendableQM ms ps Identity el t) => c
- prependM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> cont -> m (Res (Result_ PrependableOp (ElInfo el (Container cont)) ms) cont)) a, PrependableQM ms ps m el cont) => a
- prepend' :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> cont -> Res (Result_ PrependableOp (ElInfo el (Container cont)) ms) cont) c, PrependableQM ms ps Identity el cont) => c
- prependM :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> t -> f b) a, RTup2TupX (t, Result_ PrependableOp (ElInfo el (Container t)) ms) b, PrependableQM ms ps f el t) => a
- prepend :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> t -> b) c, RTup2TupX (t, Result_ PrependableOp (ElInfo el (Container t)) ms) b, PrependableQM ms ps Identity el t) => c
- addM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> cont -> m (Res (Result_ AddableOp (ElInfo el (Container cont)) ms) cont)) a, AddableQM ms ps m el cont) => a
- add' :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> cont -> Res (Result_ AddableOp (ElInfo el (Container cont)) ms) cont) c, AddableQM ms ps Identity el cont) => c
- addM :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> t -> f b) a, RTup2TupX (t, Result_ AddableOp (ElInfo el (Container t)) ms) b, AddableQM ms ps f el t) => a
- add :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> t -> b) c, RTup2TupX (t, Result_ AddableOp (ElInfo el (Container t)) ms) b, AddableQM ms ps Identity el t) => c
- add_ :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> b -> b) c, AddableQM ms ps Identity el b) => c
- removeM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> cont -> m (Res (Result_ RemovableOp (ElInfo el (Container cont)) ms) cont)) a, RemovableQM ms ps m el cont) => a
- remove' :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> cont -> Res (Result_ RemovableOp (ElInfo el (Container cont)) ms) cont) c, RemovableQM ms ps Identity el cont) => c
- removeM :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> t -> f b) a, RTup2TupX (t, Result_ RemovableOp (ElInfo el (Container t)) ms) b, RemovableQM ms ps f el t) => a
- remove :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> t -> b) c, RTup2TupX (t, Result_ RemovableOp (ElInfo el (Container t)) ms) b, RemovableQM ms ps Identity el t) => c
- insertM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> el -> cont -> m (Res (Result_ InsertableOp (IdxElInfo idx el (Container cont)) ms) cont)) a, InsertableQM ms ps m idx el cont) => a
- insert' :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> el -> cont -> Res (Result_ InsertableOp (IdxElInfo idx el (Container cont)) ms) cont) c, InsertableQM ms ps Identity idx el cont) => c
- insertM :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> el -> t -> f b) a, RTup2TupX (t, Result_ InsertableOp (IdxElInfo idx el (Container t)) ms) b, InsertableQM ms ps f idx el t) => a
- insert :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> el -> t -> b) c, RTup2TupX (t, Result_ InsertableOp (IdxElInfo idx el (Container t)) ms) b, InsertableQM ms ps Identity idx el t) => c
- insert_ :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> el -> b -> b) c, InsertableQM ms ps Identity idx el b) => c
- freeM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> cont -> m (Res (Result_ FreeableOp (IdxInfo idx (Container cont)) ms) cont)) a, FreeableQM ms ps m idx cont) => a
- free' :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> cont -> Res (Result_ FreeableOp (IdxInfo idx (Container cont)) ms) cont) c, FreeableQM ms ps Identity idx cont) => c
- freeM :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> t -> f b) a, RTup2TupX (t, Result_ FreeableOp (IdxInfo idx (Container t)) ms) b, FreeableQM ms ps f idx t) => a
- free :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> t -> b) c, RTup2TupX (t, Result_ FreeableOp (IdxInfo idx (Container t)) ms) b, FreeableQM ms ps Identity idx t) => c
- free_ :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> b -> b) c, FreeableQM ms ps Identity idx b) => c
- reserveM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> m (Res (Result_ ReservableOp (PrimInfo (Container cont)) ms) cont)) a, ReservableQM ms ps m cont) => a
- reserve' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> Res (Result_ ReservableOp (PrimInfo (Container cont)) ms) cont) c, ReservableQM ms ps Identity cont) => c
- reserveM :: (FuncTrans ([] *) ([] *) (Query ms ps -> t -> f b) a, RTup2TupX (t, Result_ ReservableOp (PrimInfo (Container t)) ms) b, ReservableQM ms ps f t) => a
- reserve :: (FuncTrans ([] *) ([] *) (Query ms ps -> t -> b) c, RTup2TupX (t, Result_ ReservableOp (PrimInfo (Container t)) ms) b, ReservableQM ms ps Identity t) => c
- class Ctx ms m cont => IndexableQM ms ps m idx el cont where
- indexQM :: Query ms ps -> idx -> cont -> m (IdxElResult IndexableOp ms idx el (Container cont) el)
- class Ctx ms m cont => TracksFreeIxesQM ms ps m idx cont where
- freeIxesQM :: Query ms ps -> cont -> m (IdxResult TracksFreeIxesOp ms idx (Container cont) [idx])
- class Ctx ms m cont => TracksUsedIxesQM ms ps m idx cont where
- usedIxesQM :: Query ms ps -> cont -> m (IdxResult TracksUsedIxesOp ms idx (Container cont) [idx])
- class Ctx ms m cont => TracksIxesQM ms ps m idx cont where
- ixesQM :: Query ms ps -> cont -> m (IdxResult TracksIxesOp ms idx (Container cont) [idx])
- class Ctx2 m => TracksElemsQM ms ps m el cont where
- elemsQM :: Query ms ps -> cont -> m (ElResult TracksElemsOp ms el (Container cont) [el])
- data IndexableOp = IndexableOp
- type IndexableM = Simple IndexableQM
- type IndexableQ ms ps = IndexableQM ms ps Identity
- type Indexable = Simple IndexableQM Identity
- data TracksFreeIxesOp = TracksFreeIxesOp
- type TracksFreeIxesM = Simple TracksFreeIxesQM
- type TracksFreeIxesQ ms ps = TracksFreeIxesQM ms ps Identity
- type TracksFreeIxes = Simple TracksFreeIxesQM Identity
- data TracksUsedIxesOp = TracksUsedIxesOp
- type TracksUsedIxesM = Simple TracksUsedIxesQM
- type TracksUsedIxesQ ms ps = TracksUsedIxesQM ms ps Identity
- type TracksUsedIxes = Simple TracksUsedIxesQM Identity
- data TracksIxesOp = TracksIxesOp
- type TracksIxesM = Simple TracksIxesQM
- type TracksIxesQ ms ps = TracksIxesQM ms ps Identity
- type TracksIxes = Simple TracksIxesQM Identity
- data TracksElemsOp = TracksElemsOp
- type TracksElemsM = Simple TracksElemsQM
- type TracksElemsQ ms ps = TracksElemsQM ms ps Identity
- type TracksElems = Simple TracksElemsQM Identity
- indexM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> cont -> m (Res (Result_ IndexableOp (IdxElInfo idx el (Container cont)) ms) el)) a, IndexableQM ms ps m idx el cont) => a
- index' :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> cont -> Res (Result_ IndexableOp (IdxElInfo idx el (Container cont)) ms) el) c, IndexableQM ms ps Identity idx el cont) => c
- indexM :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> cont -> f b) a, RTup2TupX (t, Result_ IndexableOp (IdxElInfo idx t (Container cont)) ms) b, IndexableQM ms ps f idx t cont) => a
- index :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> cont -> b) c, RTup2TupX (t, Result_ IndexableOp (IdxElInfo idx t (Container cont)) ms) b, IndexableQM ms ps Identity idx t cont) => c
- index_ :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> cont -> b) c, IndexableQM ms ps Identity idx b cont) => c
- freeIxesM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> m (Res (Result_ TracksFreeIxesOp (IdxInfo idx (Container cont)) ms) [idx])) a, TracksFreeIxesQM ms ps m idx cont) => a
- freeIxes' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> Res (Result_ TracksFreeIxesOp (IdxInfo idx (Container cont)) ms) [idx]) c, TracksFreeIxesQM ms ps Identity idx cont) => c
- freeIxesM :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> f b) a, RTup2TupX ([idx], Result_ TracksFreeIxesOp (IdxInfo idx (Container cont)) ms) b, TracksFreeIxesQM ms ps f idx cont) => a
- freeIxes :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> b) c, RTup2TupX ([idx], Result_ TracksFreeIxesOp (IdxInfo idx (Container cont)) ms) b, TracksFreeIxesQM ms ps Identity idx cont) => c
- usedIxesM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> m (Res (Result_ TracksUsedIxesOp (IdxInfo idx (Container cont)) ms) [idx])) a, TracksUsedIxesQM ms ps m idx cont) => a
- usedIxes' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> Res (Result_ TracksUsedIxesOp (IdxInfo idx (Container cont)) ms) [idx]) c, TracksUsedIxesQM ms ps Identity idx cont) => c
- usedIxesM :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> f b) a, RTup2TupX ([idx], Result_ TracksUsedIxesOp (IdxInfo idx (Container cont)) ms) b, TracksUsedIxesQM ms ps f idx cont) => a
- usedIxes :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> b) c, RTup2TupX ([idx], Result_ TracksUsedIxesOp (IdxInfo idx (Container cont)) ms) b, TracksUsedIxesQM ms ps Identity idx cont) => c
- usedIxes_ :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> [idx]) c, TracksUsedIxesQM ms ps Identity idx cont) => c
- ixesM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> m (Res (Result_ TracksIxesOp (IdxInfo idx (Container cont)) ms) [idx])) a, TracksIxesQM ms ps m idx cont) => a
- ixes' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> Res (Result_ TracksIxesOp (IdxInfo idx (Container cont)) ms) [idx]) c, TracksIxesQM ms ps Identity idx cont) => c
- ixesM :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> f b) a, RTup2TupX ([idx], Result_ TracksIxesOp (IdxInfo idx (Container cont)) ms) b, TracksIxesQM ms ps f idx cont) => a
- ixes :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> b) c, RTup2TupX ([idx], Result_ TracksIxesOp (IdxInfo idx (Container cont)) ms) b, TracksIxesQM ms ps Identity idx cont) => c
- elemsM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> m (Res (Result_ TracksElemsOp (ElInfo el (Container cont)) ms) [el])) a, TracksElemsQM ms ps m el cont) => a
- elems' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> Res (Result_ TracksElemsOp (ElInfo el (Container cont)) ms) [el]) c, TracksElemsQM ms ps Identity el cont) => c
- elemsM :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> f b) a, RTup2TupX ([el], Result_ TracksElemsOp (ElInfo el (Container cont)) ms) b, TracksElemsQM ms ps f el cont) => a
- elems :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> b) c, RTup2TupX ([el], Result_ TracksElemsOp (ElInfo el (Container cont)) ms) b, TracksElemsQM ms ps Identity el cont) => c
- elems_ :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> [el]) c, TracksElemsQM ms ps Identity el cont) => c
- type family Tup2RTup t
- type family AppendedRT a rt
- type family InitRT rt
- class (rt ~ InitRT rt') => AppendRT a rt rt' | a rt -> rt', rt' -> a where
- appendRT :: a -> rt -> rt'
- resToRTup :: Res t1 t -> (t, t1)
- res_ :: Res t t1 -> t1
- formatResult :: RTup2TupX (t, t1) b => Res t1 t -> b
- class (rt ~ Tup2RTup t) => RTup2TupX rt t | rt -> t where
- rtup2tupX :: rt -> t
- type family PrettyCtx ms a :: Constraint
- type Ctx ms m cont = (Monad m, PrettyCtx ms cont)
- type Ctx2 m = Monad m
- intercalate :: Monoid a => a -> [a] -> a
Documentation
type ImpTL = `[Impossible]` Source
impossible :: t Source
type Item IntSet = Int Source | |
type Item Text = Char Source | |
type Item LazyText = Char Source | |
type Item (Vector a) = a Source | |
type Item (Resizable s a) = Item (Container a) Source | |
type Item (Reusable idx a) = Item (Container a) Source | |
type Item (Weak f a) = WeakData (Item (Container a)) Source | |
type Item (Auto idx style a) = Item (Reusable idx (Resizable style a)) Source |
type family DataStore a Source
Points to the real structure handling the data. Used mainly internally.
type HasContainer = HasContainerM Identity Source
class HasContainerM m a where Source
Nothing
viewContainerM :: a -> m (Container a) Source
setContainerM :: Container a -> a -> m a Source
Monad m => HasContainerM m (Resizable s a) Source | |
Monad m => HasContainerM m (Reusable idx a) Source | |
Monad m => HasContainerM m (Weak f a) Source | |
Monad m => HasContainerM m (Auto idx style a) Source |
type IsContainer = IsContainerM Identity Source
class HasContainerM m a => IsContainerM m a where Source
fromContainerM :: Container a -> m a Source
Monad m => IsContainerM m (Resizable s a) Source | |
Monad m => IsContainerM m (Reusable idx a) Source | |
Monad m => IsContainerM m (Weak f a) Source | |
Monad m => IsContainerM m (Auto idx style a) Source |
container :: HasContainer a => Lens' a (Container a) Source
fromContainer :: IsContainer a => Container a -> a Source
withContainerM :: (Monad m, HasContainerM m a) => (Container a -> m (Container a)) -> a -> m a Source
withContainerM' :: (Monad m, HasContainerM m a) => (Container a -> Container a) -> a -> m a Source
type family PrimStoreOf a Source
PrimStoreOf a = PrimStoreOf' (DataStore a) a |
type family PrimStoreOf' t a Source
PrimStoreOf' a a = a | |
PrimStoreOf' t a = PrimStoreOf' (DataStore (Container (DataStore a))) (Container (DataStore a)) |
Res datas a |
type PrimResult op ms a = Result op (PrimInfo a) ms Source
type IdxElResult op ms idx el a = Result op (IdxElInfo idx el a) ms Source
type family IdxMod op ix Source
type IdxMod TracksElemsOp a = [a] Source | |
type IdxMod IndexableOp a = a Source | |
type IdxMod ReservableOp a = a Source | |
type IdxMod InsertableOp a = a Source | |
type IdxMod RemovableOp a = a Source | |
type IdxMod AddableOp a = a Source | |
type IdxMod PrependableOp a = a Source | |
type IdxMod AppendableOp a = a Source | |
type IdxMod GrowableOp a = [a] Source | |
type IdxMod ExpandableOp a = [a] Source | |
type IdxMod AllocableOp a = [a] Source | |
type IdxMod SingletonOp a = a Source |
class Ctx ms m cont => MeasurableQM ms ps m cont where Source
sizeQM :: Query ms ps -> cont -> m (PrimResult MeasurableOp ms (Container cont) Int) Source
class Ctx ms m cont => MinBoundedQM ms ps m idx cont where Source
minBoundQM :: Query ms ps -> cont -> m (IdxResult MinBoundedOp ms idx (Container cont) idx) Source
class Ctx ms m cont => MaxBoundedQM ms ps m idx cont where Source
maxBoundQM :: Query ms ps -> cont -> m (IdxResult MaxBoundedOp ms idx (Container cont) idx) Source
data MeasurableOp Source
type ConstrainCls MeasurableOp ms ps info m = MeasurableQM_ ms ps m Source | |
type ModsOf MeasurableOp (Vector a) = [] * Source | |
type ParamsOf MeasurableOp (Vector a) = [] * Source | |
type ModsOf MeasurableOp (Resizable s a) = ModsOf MeasurableOp (Container a) Source | |
type ModsOf MeasurableOp (Reusable idx a) = ModsOf MeasurableOp (Container a) Source | |
type ModsOf MeasurableOp (Weak f a) = ModsOf MeasurableOp (Container a) Source | |
type ParamsOf MeasurableOp (Resizable s a) = ParamsOf MeasurableOp (Container a) Source | |
type ParamsOf MeasurableOp (Reusable idx a) = ParamsOf MeasurableOp (Container a) Source | |
type ParamsOf MeasurableOp (Weak f a) = ParamsOf MeasurableOp (Container a) Source |
type MeasurableM = Simple MeasurableQM Source
type MeasurableQ ms ps = MeasurableQM ms ps Identity Source
type Measurable = Simple MeasurableQM Identity Source
data MinBoundedOp Source
type ConstrainCls MinBoundedOp ms ps (Info (Knowledge *) (Knowledge *) * (Known * idx) el) m = MinBoundedQM_ ms ps m idx Source | |
type ModsOf MinBoundedOp (Vector a) = [] * Source | |
type ParamsOf MinBoundedOp (Vector a) = [] * Source | |
type ModsOf MinBoundedOp (Resizable s a) = ModsOf MinBoundedOp (Container a) Source | |
type ModsOf MinBoundedOp (Reusable idx a) = ModsOf MinBoundedOp (Container a) Source | |
type ModsOf MinBoundedOp (Weak f a) = ModsOf MinBoundedOp (Container a) Source | |
type ParamsOf MinBoundedOp (Resizable s a) = ParamsOf MinBoundedOp (Container a) Source | |
type ParamsOf MinBoundedOp (Reusable idx a) = ParamsOf MinBoundedOp (Container a) Source | |
type ParamsOf MinBoundedOp (Weak f a) = ParamsOf MinBoundedOp (Container a) Source |
type MinBoundedM = Simple MinBoundedQM Source
type MinBoundedQ ms ps = MinBoundedQM ms ps Identity Source
type MinBounded = Simple MinBoundedQM Identity Source
data MaxBoundedOp Source
type ConstrainCls MaxBoundedOp ms ps (Info (Knowledge *) (Knowledge *) * (Known * idx) el) m = MaxBoundedQM_ ms ps m idx Source | |
type ModsOf MaxBoundedOp (Vector a) = [] * Source | |
type ParamsOf MaxBoundedOp (Vector a) = [] * Source | |
type ModsOf MaxBoundedOp (Resizable s a) = ModsOf MaxBoundedOp (Container a) Source | |
type ModsOf MaxBoundedOp (Reusable idx a) = ModsOf MaxBoundedOp (Container a) Source | |
type ModsOf MaxBoundedOp (Weak f a) = ModsOf MaxBoundedOp (Container a) Source | |
type ParamsOf MaxBoundedOp (Resizable s a) = ParamsOf MaxBoundedOp (Container a) Source | |
type ParamsOf MaxBoundedOp (Reusable idx a) = ParamsOf MaxBoundedOp (Container a) Source | |
type ParamsOf MaxBoundedOp (Weak f a) = ParamsOf MaxBoundedOp (Container a) Source |
type MaxBoundedM = Simple MaxBoundedQM Source
type MaxBoundedQ ms ps = MaxBoundedQM ms ps Identity Source
type MaxBounded = Simple MaxBoundedQM Identity Source
type BoundedQM ms ps m idx cont = (MinBoundedQM ms ps m idx cont, MaxBoundedQM ms ps m idx cont) Source
type BoundedM m idx cont = Simple MaxBoundedQM m idx cont Source
type BoundedQ ms ps m idx cont = MaxBoundedQM ms ps Identity idx cont Source
sizeM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> m (Res (Result_ MeasurableOp (PrimInfo (Container cont)) ms) Int)) a, MeasurableQM ms ps m cont) => a Source
size' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> Res (Result_ MeasurableOp (PrimInfo (Container cont)) ms) Int) c, MeasurableQM ms ps Identity cont) => c Source
sizeM :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> f b) a, RTup2TupX (Int, Result_ MeasurableOp (PrimInfo (Container cont)) ms) b, MeasurableQM ms ps f cont) => a Source
size :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> b) c, RTup2TupX (Int, Result_ MeasurableOp (PrimInfo (Container cont)) ms) b, MeasurableQM ms ps Identity cont) => c Source
minBoundM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> m (Res (Result_ MinBoundedOp (IdxInfo idx (Container cont)) ms) idx)) a, MinBoundedQM ms ps m idx cont) => a Source
minBound' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> Res (Result_ MinBoundedOp (IdxInfo idx (Container cont)) ms) idx) c, MinBoundedQM ms ps Identity idx cont) => c Source
minBoundM :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> f b) a, RTup2TupX (t, Result_ MinBoundedOp (IdxInfo t (Container cont)) ms) b, MinBoundedQM ms ps f t cont) => a Source
minBound :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> b) c, RTup2TupX (t, Result_ MinBoundedOp (IdxInfo t (Container cont)) ms) b, MinBoundedQM ms ps Identity t cont) => c Source
maxBoundM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> m (Res (Result_ MaxBoundedOp (IdxInfo idx (Container cont)) ms) idx)) a, MaxBoundedQM ms ps m idx cont) => a Source
maxBound' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> Res (Result_ MaxBoundedOp (IdxInfo idx (Container cont)) ms) idx) c, MaxBoundedQM ms ps Identity idx cont) => c Source
maxBoundM :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> f b) a, RTup2TupX (t, Result_ MaxBoundedOp (IdxInfo t (Container cont)) ms) b, MaxBoundedQM ms ps f t cont) => a Source
maxBound :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> b) c, RTup2TupX (t, Result_ MaxBoundedOp (IdxInfo t (Container cont)) ms) b, MaxBoundedQM ms ps Identity t cont) => c Source
class Ctx ms m cont => SingletonQM ms ps m el cont where Source
singletonQM :: Query ms ps -> el -> m (ElResult SingletonOp ms el (Container cont) cont) Source
class Ctx ms m cont => ExpandableQM ms ps m cont where Source
expandQM :: Query ms ps -> cont -> m (PrimResult ExpandableOp ms (Container cont) cont) Source
class Ctx ms m cont => AllocableQM ms ps m cont where Source
allocQM :: Query ms ps -> Int -> m (PrimResult AllocableOp ms (Container cont) cont) Source
class Ctx ms m cont => GrowableQM ms ps m cont where Source
growQM :: Query ms ps -> Int -> cont -> m (PrimResult GrowableOp ms (Container cont) cont) Source
data SingletonOp Source
type IdxMod SingletonOp a = a Source | |
type ConstrainCls SingletonOp ms ps (Info (Knowledge *) (Knowledge *) * idx (Known * el)) m = SingletonQM_ ms ps m el Source | |
type ModsOf SingletonOp (Vector a) = (:) * Ixed ([] *) Source | |
type ParamsOf SingletonOp (Vector a) = [] * Source | |
type ModsOf SingletonOp (Resizable s a) = ModsOf SingletonOp (Container a) Source | |
type ModsOf SingletonOp (Reusable idx a) = ModsOf SingletonOp (Container a) Source | |
type ModsOf SingletonOp (Weak f a) = ModsOf SingletonOp (Container a) Source | |
type ParamsOf SingletonOp (Resizable s a) = ParamsOf SingletonOp (Container a) Source | |
type ParamsOf SingletonOp (Reusable idx a) = ParamsOf SingletonOp (Container a) Source | |
type ParamsOf SingletonOp (Weak f a) = ParamsOf SingletonOp (Container a) Source |
type SingletonM = Simple SingletonQM Source
type SingletonQ ms ps = SingletonQM ms ps Identity Source
type Singleton = Simple SingletonQM Identity Source
data AllocableOp Source
type IdxMod AllocableOp a = [a] Source | |
type ConstrainCls AllocableOp ms ps info m = AllocableQM_ ms ps m Source | |
type ModsOf AllocableOp (Vector a) = (:) * Ixed ([] *) Source | |
type ParamsOf AllocableOp (Vector a) = [] * Source | |
type ModsOf AllocableOp (Resizable s a) = ModsOf AllocableOp (Container a) Source | |
type ModsOf AllocableOp (Reusable idx a) = ModsOf AllocableOp (Container a) Source | |
type ModsOf AllocableOp (Weak f a) = ModsOf AllocableOp (Container a) Source | |
type ParamsOf AllocableOp (Resizable s a) = ParamsOf AllocableOp (Container a) Source | |
type ParamsOf AllocableOp (Reusable idx a) = ParamsOf AllocableOp (Container a) Source | |
type ParamsOf AllocableOp (Weak f a) = ParamsOf AllocableOp (Container a) Source |
type AllocableM = Simple AllocableQM Source
type AllocableQ ms ps = AllocableQM ms ps Identity Source
type Allocable = Simple AllocableQM Identity Source
data ExpandableOp Source
type IdxMod ExpandableOp a = [a] Source | |
type ConstrainCls ExpandableOp ms ps info m = ExpandableQM_ ms ps m Source | |
type ModsOf ExpandableOp (Vector a) = (:) * Ixed ([] *) Source | |
type ParamsOf ExpandableOp (Vector a) = [] * Source | |
type ModsOf ExpandableOp (Resizable s a) = ModsOf GrowableOp (Container a) Source | |
type ModsOf ExpandableOp (Reusable idx a) = ModsOf ExpandableOp (Container a) Source | |
type ModsOf ExpandableOp (Weak f a) = ModsOf GrowableOp (Container a) Source | |
type ParamsOf ExpandableOp (Resizable s a) = ParamsOf GrowableOp (Container a) Source | |
type ParamsOf ExpandableOp (Reusable idx a) = ParamsOf ExpandableOp (Container a) Source | |
type ParamsOf ExpandableOp (Weak f a) = ParamsOf GrowableOp (Container a) Source |
type ExpandableM = Simple ExpandableQM Source
type ExpandableQ ms ps = ExpandableQM ms ps Identity Source
type Expandable = Simple ExpandableQM Identity Source
data GrowableOp Source
type IdxMod GrowableOp a = [a] Source | |
type ConstrainCls GrowableOp ms ps info m = GrowableQM_ ms ps m Source | |
type ModsOf GrowableOp (Vector a) = (:) * Ixed ([] *) Source | |
type ParamsOf GrowableOp (Vector a) = [] * Source | |
type ModsOf GrowableOp (Resizable s a) = ModsOf GrowableOp (Container a) Source | |
type ModsOf GrowableOp (Reusable idx a) = ModsOf GrowableOp (Container a) Source | |
type ModsOf GrowableOp (Weak f a) = ModsOf GrowableOp (Container a) Source | |
type ParamsOf GrowableOp (Resizable s a) = ParamsOf GrowableOp (Container a) Source | |
type ParamsOf GrowableOp (Reusable idx a) = ParamsOf GrowableOp (Container a) Source | |
type ParamsOf GrowableOp (Weak f a) = ParamsOf GrowableOp (Container a) Source |
type GrowableM = Simple GrowableQM Source
type GrowableQ ms ps = GrowableQM ms ps Identity Source
type Growable = Simple GrowableQM Identity Source
singletonM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> m (Res (Result_ SingletonOp (ElInfo el (Container cont)) ms) cont)) a, SingletonQM ms ps m el cont) => a Source
singleton' :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> Res (Result_ SingletonOp (ElInfo el (Container cont)) ms) cont) c, SingletonQM ms ps Identity el cont) => c Source
singletonM :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> f b) a, RTup2TupX (t, Result_ SingletonOp (ElInfo el (Container t)) ms) b, SingletonQM ms ps f el t) => a Source
singleton :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> b) c, RTup2TupX (t, Result_ SingletonOp (ElInfo el (Container t)) ms) b, SingletonQM ms ps Identity el t) => c Source
allocM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> Int -> m (Res (Result_ AllocableOp (PrimInfo (Container cont)) ms) cont)) a, AllocableQM ms ps m cont) => a Source
alloc' :: (FuncTrans ([] *) ([] *) (Query ms ps -> Int -> Res (Result_ AllocableOp (PrimInfo (Container cont)) ms) cont) c, AllocableQM ms ps Identity cont) => c Source
allocM :: (FuncTrans ([] *) ([] *) (Query ms ps -> Int -> f b) a, RTup2TupX (t, Result_ AllocableOp (PrimInfo (Container t)) ms) b, AllocableQM ms ps f t) => a Source
alloc :: (FuncTrans ([] *) ([] *) (Query ms ps -> Int -> b) c, RTup2TupX (t, Result_ AllocableOp (PrimInfo (Container t)) ms) b, AllocableQM ms ps Identity t) => c Source
expandM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> m (Res (Result_ ExpandableOp (PrimInfo (Container cont)) ms) cont)) a, ExpandableQM ms ps m cont) => a Source
expand' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> Res (Result_ ExpandableOp (PrimInfo (Container cont)) ms) cont) c, ExpandableQM ms ps Identity cont) => c Source
expandM :: (FuncTrans ([] *) ([] *) (Query ms ps -> t -> f b) a, RTup2TupX (t, Result_ ExpandableOp (PrimInfo (Container t)) ms) b, ExpandableQM ms ps f t) => a Source
expand :: (FuncTrans ([] *) ([] *) (Query ms ps -> t -> b) c, RTup2TupX (t, Result_ ExpandableOp (PrimInfo (Container t)) ms) b, ExpandableQM ms ps Identity t) => c Source
growM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> Int -> cont -> m (Res (Result_ GrowableOp (PrimInfo (Container cont)) ms) cont)) a, GrowableQM ms ps m cont) => a Source
grow' :: (FuncTrans ([] *) ([] *) (Query ms ps -> Int -> cont -> Res (Result_ GrowableOp (PrimInfo (Container cont)) ms) cont) c, GrowableQM ms ps Identity cont) => c Source
growM :: (FuncTrans ([] *) ([] *) (Query ms ps -> Int -> t -> f b) a, RTup2TupX (t, Result_ GrowableOp (PrimInfo (Container t)) ms) b, GrowableQM ms ps f t) => a Source
grow :: (FuncTrans ([] *) ([] *) (Query ms ps -> Int -> t -> b) c, RTup2TupX (t, Result_ GrowableOp (PrimInfo (Container t)) ms) b, GrowableQM ms ps Identity t) => c Source
class Ctx ms m cont => AppendableQM ms ps m el cont where Source
class Ctx ms m cont => PrependableQM ms ps m el cont where Source
class Ctx ms m cont => RemovableQM ms ps m el cont where Source
class Ctx ms m cont => InsertableQM ms ps m idx el cont where Source
insertQM :: Query ms ps -> idx -> el -> cont -> m (IdxElResult InsertableOp ms idx el (Container cont) cont) Source
class Ctx ms m cont => FreeableQM ms ps m idx cont where Source
class Ctx ms m cont => ReservableQM ms ps m cont where Source
reserveQM :: Query ms ps -> cont -> m (PrimResult ReservableOp ms (Container cont) cont) Source
data AppendableOp Source
type IdxMod AppendableOp a = a Source | |
type ConstrainCls AppendableOp ms ps (Info (Knowledge *) (Knowledge *) * idx (Known * el)) m = AppendableQM_ ms ps m el Source | |
type ModsOf AppendableOp (Vector a) = (:) * Ixed ([] *) Source | |
type ParamsOf AppendableOp (Vector a) = [] * Source | |
type ModsOf AppendableOp (Resizable s a) = ModsOf AppendableOp (Container a) Source | |
type ModsOf AppendableOp (Reusable idx a) = ModsOf AppendableOp (Container a) Source | |
type ModsOf AppendableOp (Weak f a) = ModsOf AppendableOp (Container a) Source | |
type ParamsOf AppendableOp (Resizable s a) = ParamsOf AppendableOp (Container a) Source | |
type ParamsOf AppendableOp (Reusable idx a) = ParamsOf AppendableOp (Container a) Source | |
type ParamsOf AppendableOp (Weak f a) = ParamsOf AppendableOp (Container a) Source |
type AppendableM = Simple AppendableQM Source
type AppendableQ ms ps = AppendableQM ms ps Identity Source
type Appendable = Simple AppendableQM Identity Source
data PrependableOp Source
type IdxMod PrependableOp a = a Source | |
type ConstrainCls PrependableOp ms ps (Info (Knowledge *) (Knowledge *) * idx (Known * el)) m = PrependableQM_ ms ps m el Source | |
type ModsOf PrependableOp (Vector a) = (:) * Ixed ([] *) Source | |
type ParamsOf PrependableOp (Vector a) = [] * Source | |
type ModsOf PrependableOp (Resizable s a) = ModsOf PrependableOp (Container a) Source | |
type ModsOf PrependableOp (Reusable idx a) = ModsOf PrependableOp (Container a) Source | |
type ModsOf PrependableOp (Weak f a) = ModsOf PrependableOp (Container a) Source | |
type ParamsOf PrependableOp (Resizable s a) = ParamsOf PrependableOp (Container a) Source | |
type ParamsOf PrependableOp (Reusable idx a) = ParamsOf PrependableOp (Container a) Source | |
type ParamsOf PrependableOp (Weak f a) = ParamsOf PrependableOp (Container a) Source |
type PrependableM = Simple PrependableQM Source
type PrependableQ ms ps = PrependableQM ms ps Identity Source
type Prependable = Simple PrependableQM Identity Source
type IdxMod AddableOp a = a Source | |
type ConstrainCls AddableOp ms ps (Info (Knowledge *) (Knowledge *) * idx (Known * el)) m = AddableQM_ ms ps m el Source | |
type ModsOf AddableOp (Vector a) = (:) * Ixed ([] *) Source | |
type ParamsOf AddableOp (Vector a) = [] * Source | |
type ModsOf AddableOp (Resizable s a) = ModsOf AddableOp (Container a) Source | |
type ModsOf AddableOp (Reusable idx a) = ModsOf AddableOp (Container a) Source | |
type ModsOf AddableOp (Weak f a) = ModsOf AddableOp (Container a) Source | |
type ParamsOf AddableOp (Resizable s a) = ParamsOf AddableOp (Container a) Source | |
type ParamsOf AddableOp (Reusable idx a) = ParamsOf AddableOp (Container a) Source | |
type ParamsOf AddableOp (Weak f a) = ParamsOf AddableOp (Container a) Source |
data RemovableOp Source
type IdxMod RemovableOp a = a Source | |
type ConstrainCls RemovableOp ms ps (Info (Knowledge *) (Knowledge *) * idx (Known * el)) m = RemovableQM_ ms ps m el Source | |
type ModsOf RemovableOp (Vector a) = (:) * Ixed ([] *) Source | |
type ParamsOf RemovableOp (Vector a) = (:) * Try ([] *) Source | |
type ModsOf RemovableOp (Resizable s a) = ModsOf RemovableOp (Container a) Source | |
type ParamsOf RemovableOp (Resizable s a) = ParamsOf RemovableOp (Container a) Source |
type RemovableM = Simple RemovableQM Source
type RemovableQ ms ps = RemovableQM ms ps Identity Source
type Removable = Simple RemovableQM Identity Source
data InsertableOp Source
type IdxMod InsertableOp a = a Source | |
type ConstrainCls InsertableOp ms ps (Info (Knowledge *) (Knowledge *) * (Known * idx) (Known * el)) m = InsertableQM_ ms ps m idx el Source | |
type ModsOf InsertableOp (Vector a) = (:) * Ixed ([] *) Source | |
type ParamsOf InsertableOp (Vector a) = [] * Source | |
type ModsOf InsertableOp (Resizable s a) = ModsOf InsertableOp (Container a) Source | |
type ModsOf InsertableOp (Reusable idx a) = ModsOf InsertableOp (Container a) Source | |
type ParamsOf InsertableOp (Resizable s a) = ParamsOf InsertableOp (Container a) Source | |
type ParamsOf InsertableOp (Reusable idx a) = (:) * Unchecked ((:) * Inplace (ParamsOf InsertableOp (Container a))) Source |
type InsertableM = Simple InsertableQM Source
type InsertableQ ms ps = InsertableQM ms ps Identity Source
type Insertable = Simple InsertableQM Identity Source
data FreeableOp Source
type ConstrainCls FreeableOp ms ps (Info (Knowledge *) (Knowledge *) * (Known * idx) el) m = FreeableQM_ ms ps m idx Source | |
type ModsOf FreeableOp (Vector a) = [] * Source | |
type ParamsOf FreeableOp (Vector a) = [] * Source | |
type ModsOf FreeableOp (Resizable s a) = ModsOf FreeableOp (Container a) Source | |
type ModsOf FreeableOp (Reusable idx a) = ModsOf FreeableOp (Container a) Source | |
type ModsOf FreeableOp (Weak f a) = ModsOf FreeableOp (Container a) Source | |
type ParamsOf FreeableOp (Resizable s a) = ParamsOf FreeableOp (Container a) Source | |
type ParamsOf FreeableOp (Reusable idx a) = ParamsOf FreeableOp (Container a) Source | |
type ParamsOf FreeableOp (Weak f a) = ParamsOf FreeableOp (Container a) Source |
type FreeableM = Simple FreeableQM Source
type FreeableQ ms ps = FreeableQM ms ps Identity Source
type Freeable = Simple FreeableQM Identity Source
data ReservableOp Source
type IdxMod ReservableOp a = a Source | |
type ConstrainCls ReservableOp ms ps info m = ReservableQM_ ms ps m Source | |
type ModsOf ReservableOp (Reusable idx a) = (:) * Ixed ([] *) Source | |
type ParamsOf ReservableOp (Reusable idx a) = [] * Source |
type ReservableM = Simple ReservableQM Source
type ReservableQ ms ps = ReservableQM ms ps Identity Source
type Reservable = Simple ReservableQM Identity Source
appendM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> cont -> m (Res (Result_ AppendableOp (ElInfo el (Container cont)) ms) cont)) a, AppendableQM ms ps m el cont) => a Source
append' :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> cont -> Res (Result_ AppendableOp (ElInfo el (Container cont)) ms) cont) c, AppendableQM ms ps Identity el cont) => c Source
appendM :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> t -> f b) a, RTup2TupX (t, Result_ AppendableOp (ElInfo el (Container t)) ms) b, AppendableQM ms ps f el t) => a Source
append :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> t -> b) c, RTup2TupX (t, Result_ AppendableOp (ElInfo el (Container t)) ms) b, AppendableQM ms ps Identity el t) => c Source
prependM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> cont -> m (Res (Result_ PrependableOp (ElInfo el (Container cont)) ms) cont)) a, PrependableQM ms ps m el cont) => a Source
prepend' :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> cont -> Res (Result_ PrependableOp (ElInfo el (Container cont)) ms) cont) c, PrependableQM ms ps Identity el cont) => c Source
prependM :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> t -> f b) a, RTup2TupX (t, Result_ PrependableOp (ElInfo el (Container t)) ms) b, PrependableQM ms ps f el t) => a Source
prepend :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> t -> b) c, RTup2TupX (t, Result_ PrependableOp (ElInfo el (Container t)) ms) b, PrependableQM ms ps Identity el t) => c Source
addM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> cont -> m (Res (Result_ AddableOp (ElInfo el (Container cont)) ms) cont)) a, AddableQM ms ps m el cont) => a Source
add' :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> cont -> Res (Result_ AddableOp (ElInfo el (Container cont)) ms) cont) c, AddableQM ms ps Identity el cont) => c Source
addM :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> t -> f b) a, RTup2TupX (t, Result_ AddableOp (ElInfo el (Container t)) ms) b, AddableQM ms ps f el t) => a Source
add :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> t -> b) c, RTup2TupX (t, Result_ AddableOp (ElInfo el (Container t)) ms) b, AddableQM ms ps Identity el t) => c Source
add_ :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> b -> b) c, AddableQM ms ps Identity el b) => c Source
removeM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> cont -> m (Res (Result_ RemovableOp (ElInfo el (Container cont)) ms) cont)) a, RemovableQM ms ps m el cont) => a Source
remove' :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> cont -> Res (Result_ RemovableOp (ElInfo el (Container cont)) ms) cont) c, RemovableQM ms ps Identity el cont) => c Source
removeM :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> t -> f b) a, RTup2TupX (t, Result_ RemovableOp (ElInfo el (Container t)) ms) b, RemovableQM ms ps f el t) => a Source
remove :: (FuncTrans ([] *) ([] *) (Query ms ps -> el -> t -> b) c, RTup2TupX (t, Result_ RemovableOp (ElInfo el (Container t)) ms) b, RemovableQM ms ps Identity el t) => c Source
insertM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> el -> cont -> m (Res (Result_ InsertableOp (IdxElInfo idx el (Container cont)) ms) cont)) a, InsertableQM ms ps m idx el cont) => a Source
insert' :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> el -> cont -> Res (Result_ InsertableOp (IdxElInfo idx el (Container cont)) ms) cont) c, InsertableQM ms ps Identity idx el cont) => c Source
insertM :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> el -> t -> f b) a, RTup2TupX (t, Result_ InsertableOp (IdxElInfo idx el (Container t)) ms) b, InsertableQM ms ps f idx el t) => a Source
insert :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> el -> t -> b) c, RTup2TupX (t, Result_ InsertableOp (IdxElInfo idx el (Container t)) ms) b, InsertableQM ms ps Identity idx el t) => c Source
insert_ :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> el -> b -> b) c, InsertableQM ms ps Identity idx el b) => c Source
freeM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> cont -> m (Res (Result_ FreeableOp (IdxInfo idx (Container cont)) ms) cont)) a, FreeableQM ms ps m idx cont) => a Source
free' :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> cont -> Res (Result_ FreeableOp (IdxInfo idx (Container cont)) ms) cont) c, FreeableQM ms ps Identity idx cont) => c Source
freeM :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> t -> f b) a, RTup2TupX (t, Result_ FreeableOp (IdxInfo idx (Container t)) ms) b, FreeableQM ms ps f idx t) => a Source
free :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> t -> b) c, RTup2TupX (t, Result_ FreeableOp (IdxInfo idx (Container t)) ms) b, FreeableQM ms ps Identity idx t) => c Source
free_ :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> b -> b) c, FreeableQM ms ps Identity idx b) => c Source
reserveM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> m (Res (Result_ ReservableOp (PrimInfo (Container cont)) ms) cont)) a, ReservableQM ms ps m cont) => a Source
reserve' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> Res (Result_ ReservableOp (PrimInfo (Container cont)) ms) cont) c, ReservableQM ms ps Identity cont) => c Source
reserveM :: (FuncTrans ([] *) ([] *) (Query ms ps -> t -> f b) a, RTup2TupX (t, Result_ ReservableOp (PrimInfo (Container t)) ms) b, ReservableQM ms ps f t) => a Source
reserve :: (FuncTrans ([] *) ([] *) (Query ms ps -> t -> b) c, RTup2TupX (t, Result_ ReservableOp (PrimInfo (Container t)) ms) b, ReservableQM ms ps Identity t) => c Source
class Ctx ms m cont => IndexableQM ms ps m idx el cont where Source
indexQM :: Query ms ps -> idx -> cont -> m (IdxElResult IndexableOp ms idx el (Container cont) el) Source
class Ctx ms m cont => TracksFreeIxesQM ms ps m idx cont where Source
freeIxesQM :: Query ms ps -> cont -> m (IdxResult TracksFreeIxesOp ms idx (Container cont) [idx]) Source
class Ctx ms m cont => TracksUsedIxesQM ms ps m idx cont where Source
usedIxesQM :: Query ms ps -> cont -> m (IdxResult TracksUsedIxesOp ms idx (Container cont) [idx]) Source
class Ctx ms m cont => TracksIxesQM ms ps m idx cont where Source
class Ctx2 m => TracksElemsQM ms ps m el cont where Source
data IndexableOp Source
type IdxMod IndexableOp a = a Source | |
type ConstrainCls IndexableOp ms ps (Info (Knowledge *) (Knowledge *) * (Known * idx) (Known * el)) m = IndexableQM_ ms ps m idx el Source | |
type ModsOf IndexableOp (Vector a) = (:) * Ixed ([] *) Source | |
type ParamsOf IndexableOp (Vector a) = (:) * Unchecked ((:) * Try ([] *)) Source | |
type ModsOf IndexableOp (Resizable s a) = ModsOf IndexableOp (Container a) Source | |
type ModsOf IndexableOp (Reusable idx a) = ModsOf IndexableOp (Container a) Source | |
type ParamsOf IndexableOp (Resizable s a) = ParamsOf IndexableOp (Container a) Source | |
type ParamsOf IndexableOp (Reusable idx a) = ParamsOf IndexableOp (Container a) Source |
type IndexableM = Simple IndexableQM Source
type IndexableQ ms ps = IndexableQM ms ps Identity Source
type Indexable = Simple IndexableQM Identity Source
data TracksFreeIxesOp Source
type ConstrainCls TracksFreeIxesOp ms ps (Info (Knowledge *) (Knowledge *) * (Known * idx) el) m = TracksFreeIxesQM_ ms ps m idx Source | |
type ModsOf TracksFreeIxesOp (Resizable s a) = ModsOf TracksFreeIxesOp (Container a) Source | |
type ModsOf TracksFreeIxesOp (Reusable idx a) = [] * Source | |
type ParamsOf TracksFreeIxesOp (Resizable s a) = ParamsOf TracksFreeIxesOp (Container a) Source | |
type ParamsOf TracksFreeIxesOp (Reusable idx a) = [] * Source |
type TracksFreeIxesQ ms ps = TracksFreeIxesQM ms ps Identity Source
data TracksUsedIxesOp Source
type ConstrainCls TracksUsedIxesOp ms ps (Info (Knowledge *) (Knowledge *) * (Known * idx) el) m = TracksUsedIxesQM_ ms ps m idx Source | |
type ModsOf TracksUsedIxesOp (Resizable s a) = ModsOf TracksUsedIxesOp (Container a) Source | |
type ModsOf TracksUsedIxesOp (Reusable idx a) = [] * Source | |
type ParamsOf TracksUsedIxesOp (Resizable s a) = ParamsOf TracksUsedIxesOp (Container a) Source | |
type ParamsOf TracksUsedIxesOp (Reusable idx a) = [] * Source |
type TracksUsedIxesQ ms ps = TracksUsedIxesQM ms ps Identity Source
data TracksIxesOp Source
type ConstrainCls TracksIxesOp ms ps (Info (Knowledge *) (Knowledge *) * (Known * idx) el) m = TracksIxesQM_ ms ps m idx Source | |
type ModsOf TracksIxesOp (Vector a) = [] * Source | |
type ParamsOf TracksIxesOp (Vector a) = [] * Source | |
type ModsOf TracksIxesOp (Resizable s a) = ModsOf TracksIxesOp (Container a) Source | |
type ModsOf TracksIxesOp (Reusable idx a) = ModsOf TracksIxesOp (Container a) Source | |
type ParamsOf TracksIxesOp (Resizable s a) = ParamsOf TracksIxesOp (Container a) Source | |
type ParamsOf TracksIxesOp (Reusable idx a) = ParamsOf TracksIxesOp (Container a) Source |
type TracksIxesM = Simple TracksIxesQM Source
type TracksIxesQ ms ps = TracksIxesQM ms ps Identity Source
type TracksIxes = Simple TracksIxesQM Identity Source
data TracksElemsOp Source
type IdxMod TracksElemsOp a = [a] Source | |
type ConstrainCls TracksElemsOp ms ps (Info (Knowledge *) (Knowledge *) * idx (Known * el)) m = TracksElemsQM_ ms ps m el Source | |
type ModsOf TracksElemsOp (Resizable s a) = ModsOf TracksElemsOp (Container a) Source | |
type ModsOf TracksElemsOp (Reusable idx a) = [] * Source | |
type ParamsOf TracksElemsOp (Resizable s a) = ParamsOf TracksElemsOp (Container a) Source | |
type ParamsOf TracksElemsOp (Reusable idx a) = [] * Source |
type TracksElemsM = Simple TracksElemsQM Source
type TracksElemsQ ms ps = TracksElemsQM ms ps Identity Source
type TracksElems = Simple TracksElemsQM Identity Source
indexM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> cont -> m (Res (Result_ IndexableOp (IdxElInfo idx el (Container cont)) ms) el)) a, IndexableQM ms ps m idx el cont) => a Source
index' :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> cont -> Res (Result_ IndexableOp (IdxElInfo idx el (Container cont)) ms) el) c, IndexableQM ms ps Identity idx el cont) => c Source
indexM :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> cont -> f b) a, RTup2TupX (t, Result_ IndexableOp (IdxElInfo idx t (Container cont)) ms) b, IndexableQM ms ps f idx t cont) => a Source
index :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> cont -> b) c, RTup2TupX (t, Result_ IndexableOp (IdxElInfo idx t (Container cont)) ms) b, IndexableQM ms ps Identity idx t cont) => c Source
index_ :: (FuncTrans ([] *) ([] *) (Query ms ps -> idx -> cont -> b) c, IndexableQM ms ps Identity idx b cont) => c Source
freeIxesM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> m (Res (Result_ TracksFreeIxesOp (IdxInfo idx (Container cont)) ms) [idx])) a, TracksFreeIxesQM ms ps m idx cont) => a Source
freeIxes' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> Res (Result_ TracksFreeIxesOp (IdxInfo idx (Container cont)) ms) [idx]) c, TracksFreeIxesQM ms ps Identity idx cont) => c Source
freeIxesM :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> f b) a, RTup2TupX ([idx], Result_ TracksFreeIxesOp (IdxInfo idx (Container cont)) ms) b, TracksFreeIxesQM ms ps f idx cont) => a Source
freeIxes :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> b) c, RTup2TupX ([idx], Result_ TracksFreeIxesOp (IdxInfo idx (Container cont)) ms) b, TracksFreeIxesQM ms ps Identity idx cont) => c Source
usedIxesM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> m (Res (Result_ TracksUsedIxesOp (IdxInfo idx (Container cont)) ms) [idx])) a, TracksUsedIxesQM ms ps m idx cont) => a Source
usedIxes' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> Res (Result_ TracksUsedIxesOp (IdxInfo idx (Container cont)) ms) [idx]) c, TracksUsedIxesQM ms ps Identity idx cont) => c Source
usedIxesM :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> f b) a, RTup2TupX ([idx], Result_ TracksUsedIxesOp (IdxInfo idx (Container cont)) ms) b, TracksUsedIxesQM ms ps f idx cont) => a Source
usedIxes :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> b) c, RTup2TupX ([idx], Result_ TracksUsedIxesOp (IdxInfo idx (Container cont)) ms) b, TracksUsedIxesQM ms ps Identity idx cont) => c Source
usedIxes_ :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> [idx]) c, TracksUsedIxesQM ms ps Identity idx cont) => c Source
ixesM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> m (Res (Result_ TracksIxesOp (IdxInfo idx (Container cont)) ms) [idx])) a, TracksIxesQM ms ps m idx cont) => a Source
ixes' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> Res (Result_ TracksIxesOp (IdxInfo idx (Container cont)) ms) [idx]) c, TracksIxesQM ms ps Identity idx cont) => c Source
ixesM :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> f b) a, RTup2TupX ([idx], Result_ TracksIxesOp (IdxInfo idx (Container cont)) ms) b, TracksIxesQM ms ps f idx cont) => a Source
ixes :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> b) c, RTup2TupX ([idx], Result_ TracksIxesOp (IdxInfo idx (Container cont)) ms) b, TracksIxesQM ms ps Identity idx cont) => c Source
elemsM' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> m (Res (Result_ TracksElemsOp (ElInfo el (Container cont)) ms) [el])) a, TracksElemsQM ms ps m el cont) => a Source
elems' :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> Res (Result_ TracksElemsOp (ElInfo el (Container cont)) ms) [el]) c, TracksElemsQM ms ps Identity el cont) => c Source
elemsM :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> f b) a, RTup2TupX ([el], Result_ TracksElemsOp (ElInfo el (Container cont)) ms) b, TracksElemsQM ms ps f el cont) => a Source
elems :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> b) c, RTup2TupX ([el], Result_ TracksElemsOp (ElInfo el (Container cont)) ms) b, TracksElemsQM ms ps Identity el cont) => c Source
elems_ :: (FuncTrans ([] *) ([] *) (Query ms ps -> cont -> [el]) c, TracksElemsQM ms ps Identity el cont) => c Source
type family AppendedRT a rt Source
AppendedRT a () = (a, ()) | |
AppendedRT a (r, rt) = (r, AppendedRT a rt) |
formatResult :: RTup2TupX (t, t1) b => Res t1 t -> b Source
type family PrettyCtx ms a :: Constraint Source
intercalate :: Monoid a => a -> [a] -> a Source