Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
data RevAppendSym0 (l :: TyFun [a6989586621679075741] (TyFun [a6989586621679075741] [a6989586621679075741] -> Type)) Source #
SameKind (Apply RevAppendSym0 arg) (RevAppendSym1 arg) => RevAppendSym0KindInference |
SuppressUnusedWarnings (TyFun [a6989586621679075741] (TyFun [a6989586621679075741] [a6989586621679075741] -> Type) -> *) (RevAppendSym0 a6989586621679075741) Source # | |
type Apply [a6989586621679075741] (TyFun [a6989586621679075741] [a6989586621679075741] -> Type) (RevAppendSym0 a6989586621679075741) l Source # | |
data RevAppendSym1 (l :: [a6989586621679075741]) (l :: TyFun [a6989586621679075741] [a6989586621679075741]) Source #
SameKind (Apply (RevAppendSym1 l) arg) (RevAppendSym2 l arg) => RevAppendSym1KindInference |
SuppressUnusedWarnings ([a6989586621679075741] -> TyFun [a6989586621679075741] [a6989586621679075741] -> *) (RevAppendSym1 a6989586621679075741) Source # | |
type Apply [a] [a] (RevAppendSym1 a l1) l2 Source # | |
type RevAppendSym2 (t :: [a6989586621679075741]) (t :: [a6989586621679075741]) = RevAppend t t Source #
type family SelElemAux (a :: [a]) (a :: [a]) :: [(a, [a])] where ... Source #
SelElemAux l '[] = '[] | |
SelElemAux l ((:) r rs) = Apply (Apply (:$) (Apply (Apply Tuple2Sym0 r) (Apply (Apply RevAppendSym0 l) rs))) (Apply (Apply SelElemAuxSym0 (Apply (Apply (:$) r) l)) rs) |
data SelElemAuxSym0 (l :: TyFun [a6989586621679075740] (TyFun [a6989586621679075740] [(a6989586621679075740, [a6989586621679075740])] -> Type)) Source #
SameKind (Apply SelElemAuxSym0 arg) (SelElemAuxSym1 arg) => SelElemAuxSym0KindInference |
SuppressUnusedWarnings (TyFun [a6989586621679075740] (TyFun [a6989586621679075740] [(a6989586621679075740, [a6989586621679075740])] -> Type) -> *) (SelElemAuxSym0 a6989586621679075740) Source # | |
type Apply [a6989586621679075740] (TyFun [a6989586621679075740] [(a6989586621679075740, [a6989586621679075740])] -> Type) (SelElemAuxSym0 a6989586621679075740) l Source # | |
data SelElemAuxSym1 (l :: [a6989586621679075740]) (l :: TyFun [a6989586621679075740] [(a6989586621679075740, [a6989586621679075740])]) Source #
SameKind (Apply (SelElemAuxSym1 l) arg) (SelElemAuxSym2 l arg) => SelElemAuxSym1KindInference |
SuppressUnusedWarnings ([a6989586621679075740] -> TyFun [a6989586621679075740] [(a6989586621679075740, [a6989586621679075740])] -> *) (SelElemAuxSym1 a6989586621679075740) Source # | |
type Apply [a] [(a, [a])] (SelElemAuxSym1 a l1) l2 Source # | |
type SelElemAuxSym2 (t :: [a6989586621679075740]) (t :: [a6989586621679075740]) = SelElemAux t t Source #
type family SelElem (a :: [a]) :: [(a, [a])] where ... Source #
SelElem a_6989586621679076669 = Apply (Apply SelElemAuxSym0 '[]) a_6989586621679076669 |
type SelElemSym1 (t :: [a6989586621679075739]) = SelElem t Source #
data SelElemSym0 (l :: TyFun [a6989586621679075739] [(a6989586621679075739, [a6989586621679075739])]) Source #
SameKind (Apply SelElemSym0 arg) (SelElemSym1 arg) => SelElemSym0KindInference |
SuppressUnusedWarnings (TyFun [a6989586621679075739] [(a6989586621679075739, [a6989586621679075739])] -> *) (SelElemSym0 a6989586621679075739) Source # | |
type Apply [a] [(a, [a])] (SelElemSym0 a) l Source # | |
sSelElemAux :: forall (t :: [a]) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply SelElemAuxSym0 t) t :: [(a, [a])]) Source #
sRevAppend :: forall (t :: [a]) (t :: [a]). Sing t -> Sing t -> Sing (Apply (Apply RevAppendSym0 t) t :: [a]) Source #
selElemAux :: [a] -> [a] -> [(a, [a])] Source #
takeElemAux :: [a] -> [a] -> [([a], a, [a])] Source #
data SelElemTypeAux a Source #
SelElemTypeAux (Fst a) (NP I (Snd a)) |
type SelElemAuxType a b = NP SelElemTypeAux (SelElemAux a b) Source #
type SelElemType a = SelElemAuxType '[] a Source #
npSelElemAux :: NP I a -> NP I b -> SelElemAuxType a b Source #
newtype SplitOnAux a b c Source #
SplitOnAux | |
|
newtype SplitFunAuxAux b d Source #
SplitFunAuxAux | |
|
unitSplitFun :: [b] -> SplitFun env a b Source #
splitFunP :: (SListI2 c, All2 (GetIndex env) c) => Proxy c -> (a -> SOP I c) -> NP (SplitFunAuxAux b) c -> SplitFun env a b Source #
data SplitStrat (env :: [*]) a Source #
SplitStrat (forall b. [(a, b)] -> [SplitFun env a b]) |
Monoid (SplitStrat env a) Source # | |
runSplitFun :: SplitStrat env a -> [(a, b)] -> [SplitFun env a b] Source #
type SplitStrats cur env = NP (SplitStrat env) cur Source #
splitStaticAux :: SplitStrat env a -> Proxy (GetIndex env) Source #
splitStatic :: (SListI2 c, All2 (GetIndex env) c) => (a -> SOP I c) -> SplitStrat env a Source #
splitStructure :: (Generic a, SListI2 (Code a), All2 (GetIndex env) (Code a)) => SplitStrat env a Source #
data SelElemTypeAuxIndex env a Source #
selElemTypeAuxIndex :: NP (Index env) a -> NP (Index env) b -> NP (SelElemTypeAuxIndex env) (SelElemAux a b) Source #
newtype BuildAuxAux a b Source #
BuildAuxAux | |
|
buildTree :: (SListI env, Ord b) => SplitStrats env env -> NP (Index env) (Snd a1) -> b -> SplitFun env (Fst a1) (b, NP I (Snd a1)) -> (Score, SplitOn b a1) Source #