Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
type family ParamsOf op cont :: [*] Source
type family ModsOf op cont :: [*] Source
(InsertableQM (GetOpts ms) (GetOpts ps) m idx el a, (~) * idx idx') => InsertableQM_ ms ((:) (Opt *) (P * Unchecked) ((:) (Opt *) (P * Inplace) ps)) m idx el (Reusable idx' a) Source | |
Show a => Show (Opt a) Source | |
(TracksUsedIxes idx (Reusable idx a), Indexable idx el (Reusable idx a), Monad m) => TracksElemsQM_ ([] (Opt *)) ps m el (Reusable idx a) Source | |
(TracksIxes idx (Reusable idx a), TracksFreeIxes idx (Reusable idx a), (~) * idx idx', Monad m, Eq idx) => TracksUsedIxesQM_ ([] (Opt *)) ps m idx (Reusable idx' a) Source | |
(Monad m, (~) * idx idx') => TracksFreeIxesQM_ ([] (Opt *)) ps m idx (Reusable idx' a) Source | |
(Monad m, (~) * idx (Index (Container a))) => ReservableQM_ ((:) (Opt *) (P * Ixed) ([] (Opt *))) ps m (Reusable idx a) Source |
(Monad m, (~) * idx (Index (Container a))) => ReservableQM_ ((:) (Opt *) (P * Ixed) ([] (Opt *))) ps m (Reusable idx a) Source | |
type ModResult op (Info (Knowledge *) (Knowledge *) * (Unknown *) el cont) Ixed = IdxMod op (Index cont) Source | |
type ModResult op (Info (Knowledge *) (Knowledge *) * (Known * idx) el cont) Ixed = IdxMod op idx Source |
type family MatchOpts provided selected :: [Opt *] Source
MatchOpts (p : ps) sel = (p `CheckIfKnown` sel) : MatchOpts ps sel | |
MatchOpts `[]` sel = `[]` |
type family CheckIfKnown flag flags :: Opt * Source
CheckIfKnown f (f : fs) = P f | |
CheckIfKnown f (f' : fs) = CheckIfKnown f fs | |
CheckIfKnown f `[]` = N |
newtype OptBuilder mods params a Source
((~) [*] mods mods', (~) [*] params params', (~) * f f') => FuncTrans mods params f (OptBuilder mods' params' f') Source | |
Functor (OptBuilder mods params) Source | |
((~) * t (f -> g), (~) [*] mods ([] *), (~) [*] params ([] *)) => FuncBuilder (f -> g) (OptBuilder mods params t) Source | |
Show a => Show (OptBuilder mods params a) Source |
type OptBuilderBase = OptBuilder `[]` `[]` Source
class FuncTrans mods params f a | a mods params -> f where Source
transFunc :: OptBuilder mods params f -> a Source
class FuncBuilder f a | a -> f where Source
((~) * f a, (~) * g b) => FuncBuilder (f -> g) (a -> b) Source | |
((~) * t (f -> g), (~) [*] mods ([] *), (~) [*] params ([] *)) => FuncBuilder (f -> g) (OptBuilder mods params t) Source |
optBuilder :: f -> OptBuilderBase f Source
queryBuilder :: FuncTrans `[]` `[]` f a => f -> a Source
extendOptBuilder :: Query newMods newParams -> Query collectedMods collectedParams -> OptBuilder mods params a -> OptBuilder (Concat newMods (Concat collectedMods mods)) (Concat newParams (Concat collectedParams params)) a Source
appFunc :: (f -> g) -> OptBuilder ms ps f -> OptBuilder ms ps g Source
withTransFunc :: FuncTrans mods params f c => (f1 -> f) -> OptBuilder mods params f1 -> c Source
class GetOptData provided datas opt where Source
getOptData :: Proxy provided -> datas -> Proxy opt -> OptData provided datas opt Source
(~) * datas (a, as) => GetOptData ((:) * p ps) datas p Source | |
((~) * datas (a, as), GetOptData ps as o, (~) * (OptData * ps as o) (OptData * ((:) * p ps) (a, as) o)) => GetOptData ((:) * p ps) datas o Source |
class GetQueryData provided query datas where Source
getQueryData :: Proxy provided -> Proxy query -> datas -> QueryData provided query datas Source
GetQueryData p ([] *) datas Source | |
(GetQueryData p qs datas, GetOptData p datas q) => GetQueryData p ((:) * q qs) datas Source |
ixed :: (FuncTrans ((:) * Ixed (Concat' * (Reverse' collectedMods ([] *)) mods)) (Concat' * (Reverse' collectedParams ([] *)) params) f c, FuncTrans ([] *) ([] *) (Query collectedMods collectedParams -> OptBuilder mods params f -> c) a) => a Source
raw :: (FuncTrans (Concat' * (Reverse' collectedMods ([] *)) mods) ((:) * Raw (Concat' * (Reverse' collectedParams ([] *)) params)) f c, FuncTrans ([] *) ([] *) (Query collectedMods collectedParams -> OptBuilder mods params f -> c) a) => a Source
try :: (FuncTrans (Concat' * (Reverse' collectedMods ([] *)) mods) ((:) * Try (Concat' * (Reverse' collectedParams ([] *)) params)) f c, FuncTrans ([] *) ([] *) (Query collectedMods collectedParams -> OptBuilder mods params f -> c) a) => a Source
unchecked :: (FuncTrans (Concat' * (Reverse' collectedMods ([] *)) mods) ((:) * Unchecked (Concat' * (Reverse' collectedParams ([] *)) params)) f c, FuncTrans ([] *) ([] *) (Query collectedMods collectedParams -> OptBuilder mods params f -> c) a) => a Source