Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
data RevAppendSym0 (l :: TyFun [a6989586621679075662] (TyFun [a6989586621679075662] [a6989586621679075662] -> Type)) Source #
SameKind (Apply RevAppendSym0 arg) (RevAppendSym1 arg) => RevAppendSym0KindInference |
SuppressUnusedWarnings (TyFun [a6989586621679075662] (TyFun [a6989586621679075662] [a6989586621679075662] -> Type) -> *) (RevAppendSym0 a6989586621679075662) Source # | |
type Apply [a6989586621679075662] (TyFun [a6989586621679075662] [a6989586621679075662] -> Type) (RevAppendSym0 a6989586621679075662) l Source # | |
data RevAppendSym1 (l :: [a6989586621679075662]) (l :: TyFun [a6989586621679075662] [a6989586621679075662]) Source #
SameKind (Apply (RevAppendSym1 l) arg) (RevAppendSym2 l arg) => RevAppendSym1KindInference |
SuppressUnusedWarnings ([a6989586621679075662] -> TyFun [a6989586621679075662] [a6989586621679075662] -> *) (RevAppendSym1 a6989586621679075662) Source # | |
type Apply [a] [a] (RevAppendSym1 a l1) l2 Source # | |
type RevAppendSym2 (t :: [a6989586621679075662]) (t :: [a6989586621679075662]) = 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 [a6989586621679075661] (TyFun [a6989586621679075661] [(a6989586621679075661, [a6989586621679075661])] -> Type)) Source #
SameKind (Apply SelElemAuxSym0 arg) (SelElemAuxSym1 arg) => SelElemAuxSym0KindInference |
SuppressUnusedWarnings (TyFun [a6989586621679075661] (TyFun [a6989586621679075661] [(a6989586621679075661, [a6989586621679075661])] -> Type) -> *) (SelElemAuxSym0 a6989586621679075661) Source # | |
type Apply [a6989586621679075661] (TyFun [a6989586621679075661] [(a6989586621679075661, [a6989586621679075661])] -> Type) (SelElemAuxSym0 a6989586621679075661) l Source # | |
data SelElemAuxSym1 (l :: [a6989586621679075661]) (l :: TyFun [a6989586621679075661] [(a6989586621679075661, [a6989586621679075661])]) Source #
SameKind (Apply (SelElemAuxSym1 l) arg) (SelElemAuxSym2 l arg) => SelElemAuxSym1KindInference |
SuppressUnusedWarnings ([a6989586621679075661] -> TyFun [a6989586621679075661] [(a6989586621679075661, [a6989586621679075661])] -> *) (SelElemAuxSym1 a6989586621679075661) Source # | |
type Apply [a] [(a, [a])] (SelElemAuxSym1 a l1) l2 Source # | |
type SelElemAuxSym2 (t :: [a6989586621679075661]) (t :: [a6989586621679075661]) = SelElemAux t t Source #
type family SelElem (a :: [a]) :: [(a, [a])] where ... Source #
SelElem a_6989586621679076590 = Apply (Apply SelElemAuxSym0 '[]) a_6989586621679076590 |
type SelElemSym1 (t :: [a6989586621679075660]) = SelElem t Source #
data SelElemSym0 (l :: TyFun [a6989586621679075660] [(a6989586621679075660, [a6989586621679075660])]) Source #
SameKind (Apply SelElemSym0 arg) (SelElemSym1 arg) => SelElemSym0KindInference |
SuppressUnusedWarnings (TyFun [a6989586621679075660] [(a6989586621679075660, [a6989586621679075660])] -> *) (SelElemSym0 a6989586621679075660) 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 | |
|
data SplitFunAux env a b Source #
(SListI2 c, All2 (GetIndex env) c) => SplitFunAux (a -> SOP I c) (NP (SplitFunAuxAux b) c) |
splitFunAuxP :: (SListI2 c, All2 (GetIndex env) c) => Proxy c -> (a -> SOP I c) -> NP (SplitFunAuxAux b) c -> SplitFunAux env a b Source #
runSplitFun :: SplitFun env a -> [(a, b)] -> [SplitFunAux env a b] Source #
splitStructure :: (Generic a, SListI2 (Code a), All2 (GetIndex env) (Code a)) => SplitFun 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) => SplitFuns env env -> NP (Index env) (Snd a1) -> b -> SplitFunAux env (Fst a1) (b, NP I (Snd a1)) -> (Score, SplitOn b a1) Source #