-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Please see the README on Github at -- https://github.com/MarisaKirisame/HappyTree#readme @package HappyTree @version 0.2018.1.5 module Lib someFunc :: IO () data RevAppendSym0 (l_ahtn :: TyFun [a6989586621679076944] (TyFun [a6989586621679076944] [a6989586621679076944] -> Type)) RevAppendSym0KindInference :: RevAppendSym0 data RevAppendSym1 (l_ahtl :: [a6989586621679076944]) (l_ahtk :: TyFun [a6989586621679076944] [a6989586621679076944]) RevAppendSym1KindInference :: RevAppendSym1 type RevAppendSym2 (t_ahti :: [a6989586621679076944]) (t_ahtj :: [a6989586621679076944]) = RevAppend t_ahti t_ahtj data TakeElemAuxSym0 (l_ahtA :: TyFun [a6989586621679076943] (TyFun [a6989586621679076943] [(a6989586621679076943, [a6989586621679076943])] -> Type)) TakeElemAuxSym0KindInference :: TakeElemAuxSym0 data TakeElemAuxSym1 (l_ahty :: [a6989586621679076943]) (l_ahtx :: TyFun [a6989586621679076943] [(a6989586621679076943, [a6989586621679076943])]) TakeElemAuxSym1KindInference :: TakeElemAuxSym1 type TakeElemAuxSym2 (t_ahtv :: [a6989586621679076943]) (t_ahtw :: [a6989586621679076943]) = TakeElemAux t_ahtv t_ahtw type TakeElemSym1 (t_ahtK :: [a6989586621679076942]) = TakeElem t_ahtK data TakeElemSym0 (l_ahtL :: TyFun [a6989586621679076942] [(a6989586621679076942, [a6989586621679076942])]) TakeElemSym0KindInference :: TakeElemSym0 sTakeElem :: forall (t_ahtT :: [a_aht4]). Sing t_ahtT -> Sing (Apply TakeElemSym0 t_ahtT :: [(a_aht4, [a_aht4])]) sTakeElemAux :: forall (t_ahtR :: [a_aht5]) (t_ahtS :: [a_aht5]). Sing t_ahtR -> Sing t_ahtS -> Sing (Apply (Apply TakeElemAuxSym0 t_ahtR) t_ahtS :: [(a_aht5, [a_aht5])]) sRevAppend :: forall (t_ahtP :: [a_aht6]) (t_ahtQ :: [a_aht6]). Sing t_ahtP -> Sing t_ahtQ -> Sing (Apply (Apply RevAppendSym0 t_ahtP) t_ahtQ :: [a_aht6]) takeElem :: [a_aht4] -> [(a_aht4, [a_aht4])] takeElemAux :: [a_aht5] -> [a_aht5] -> [(a_aht5, [a_aht5])] revAppend :: [a_aht6] -> [a_aht6] -> [a_aht6] class (SplitCode a ~ Code a, Generic a) => SplitStructure a where { type family SplitCode a :: [[*]]; type SplitCode a = Code a; } splitStructureFrom :: SplitStructure a => a -> SOP I (SplitCode a) splitStructureTo :: SplitStructure a => SOP I (SplitCode a) -> a class Ord a => SplitOrd a newtype SplitStructureOnAux dt b r a SplitStructureOnAux :: dt (r :++ a) b -> SplitStructureOnAux dt b r a [runSplitStructureOnAux] :: SplitStructureOnAux dt b r a -> dt (r :++ a) b newtype SplitStructureOn dt b a SplitStructureOn :: (Dict (SplitStructure (Fst a)), NP (SplitStructureOnAux dt b (Snd a)) (SplitCode (Fst a))) -> SplitStructureOn dt b a [runSplitStructureOn] :: SplitStructureOn dt b a -> (Dict (SplitStructure (Fst a)), NP (SplitStructureOnAux dt b (Snd a)) (SplitCode (Fst a))) newtype SplitOrderOn dt b a SplitOrderOn :: (Dict (SplitOrd (Fst a)), (Fst a), dt (Fst a : Snd a) b, dt (Snd a) b, dt (Fst a : Snd a) b) -> SplitOrderOn dt b a [runSplitOrderOn] :: SplitOrderOn dt b a -> (Dict (SplitOrd (Fst a)), (Fst a), dt (Fst a : Snd a) b, dt (Snd a) b, dt (Fst a : Snd a) b) data DecisionTree (a :: [*]) (b :: *) Leaf :: (NP I a -> b) -> DecisionTree SplitOnStructure :: (NS (SplitStructureOn DecisionTree b) (TakeElem a)) -> DecisionTree SplitOnOrd :: (NS (SplitOrderOn DecisionTree b) (TakeElem a)) -> DecisionTree newtype TakeElemTypeAux a TakeElemTypeAux :: (Fst a, NP I (Snd a)) -> TakeElemTypeAux a [runTakeElemTypeAux] :: TakeElemTypeAux a -> (Fst a, NP I (Snd a)) revAppendDT :: NP f a -> NP f b -> NP f (RevAppend a b) takeElemAuxDT :: NP I a -> NP I b -> TakeElemAuxType a b dictSList :: SList a -> Dict (SListI a) sListCons :: Proxy a -> SList b -> SList (a : b) unSListCons :: forall (a :: [k]). SList (_ : a) -> SList a takeElemAuxDTSingAux :: SList (a : as) -> Proxy a takeElemAuxDTSing :: SList a -> SList b -> SList (TakeElemAux a b) takeElemDT :: NP I a -> TakeElemType a sopAppend :: NP f a -> NP f b -> NP f (a :++ b) npToSList :: NP f a -> SList a eval :: DecisionTree a b -> NP I a -> b instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Lib.TakeElemSym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Lib.TakeElemAuxSym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Lib.TakeElemAuxSym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Lib.RevAppendSym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Lib.RevAppendSym0