-- 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.7 module Data.HappyTree data RevAppendSym0 (l_ahn3 :: TyFun [a6989586621679075662] (TyFun [a6989586621679075662] [a6989586621679075662] -> Type)) RevAppendSym0KindInference :: RevAppendSym0 data RevAppendSym1 (l_ahn1 :: [a6989586621679075662]) (l_ahn0 :: TyFun [a6989586621679075662] [a6989586621679075662]) RevAppendSym1KindInference :: RevAppendSym1 type RevAppendSym2 (t_ahmY :: [a6989586621679075662]) (t_ahmZ :: [a6989586621679075662]) = RevAppend t_ahmY t_ahmZ data SelElemAuxSym0 (l_ahng :: TyFun [a6989586621679075661] (TyFun [a6989586621679075661] [(a6989586621679075661, [a6989586621679075661])] -> Type)) SelElemAuxSym0KindInference :: SelElemAuxSym0 data SelElemAuxSym1 (l_ahne :: [a6989586621679075661]) (l_ahnd :: TyFun [a6989586621679075661] [(a6989586621679075661, [a6989586621679075661])]) SelElemAuxSym1KindInference :: SelElemAuxSym1 type SelElemAuxSym2 (t_ahnb :: [a6989586621679075661]) (t_ahnc :: [a6989586621679075661]) = SelElemAux t_ahnb t_ahnc type SelElemSym1 (t_ahnq :: [a6989586621679075660]) = SelElem t_ahnq data SelElemSym0 (l_ahnr :: TyFun [a6989586621679075660] [(a6989586621679075660, [a6989586621679075660])]) SelElemSym0KindInference :: SelElemSym0 sSelElem :: forall (t_ahnz :: [a_ah8o]). Sing t_ahnz -> Sing (Apply SelElemSym0 t_ahnz :: [(a_ah8o, [a_ah8o])]) sSelElemAux :: forall (t_ahnx :: [a_ah8p]) (t_ahny :: [a_ah8p]). Sing t_ahnx -> Sing t_ahny -> Sing (Apply (Apply SelElemAuxSym0 t_ahnx) t_ahny :: [(a_ah8p, [a_ah8p])]) sRevAppend :: forall (t_ahnv :: [a_ah8q]) (t_ahnw :: [a_ah8q]). Sing t_ahnv -> Sing t_ahnw -> Sing (Apply (Apply RevAppendSym0 t_ahnv) t_ahnw :: [a_ah8q]) selElem :: [a_ah8o] -> [(a_ah8o, [a_ah8o])] selElemAux :: [a_ah8p] -> [a_ah8p] -> [(a_ah8p, [a_ah8p])] revAppend :: [a_ah8q] -> [a_ah8q] -> [a_ah8q] takeElemAux :: [a] -> [a] -> [([a], a, [a])] takeElem :: [a] -> [([a], a, [a])] data SelElemTypeAux a SelElemTypeAux :: (Fst a) -> (NP I (Snd a)) -> SelElemTypeAux a type SelElemAuxType a b = NP SelElemTypeAux (SelElemAux a b) type SelElemType a = SelElemAuxType '[] a npRevAppend :: NP f a -> NP f b -> NP f (RevAppend a b) npSelElemAux :: NP I a -> NP I b -> SelElemAuxType a b npSelElem :: NP I a -> SelElemAuxType '[] a dictSList :: SList a -> Dict (SListI a) sListCons :: Proxy a -> SList b -> SList (a : b) npAppend :: NP f a -> NP f b -> NP f (a :++ b) npToSList :: NP f a -> SList a newtype SplitOnAux a b c SplitOnAux :: DecisionTree (c :++ a) b -> SplitOnAux a b c [runSplitOnAux] :: SplitOnAux a b c -> DecisionTree (c :++ a) b data SplitOn (b :: *) (x :: (*, [*])) SplitOn :: (Fst x -> SOP I c) -> (NP (SplitOnAux (Snd x) b) c) -> SplitOn data DecisionTree (a :: [*]) (b :: *) Leaf :: (NP I a -> b) -> DecisionTree Split :: (NS (SplitOn b) (SelElem a)) -> DecisionTree eval :: DecisionTree a b -> NP I a -> b entropy :: Ord a => [a] -> Double data IndexAux (l :: k) (r :: k) IndexAux :: IndexAux newtype Index (l :: [k]) (x :: k) Index :: NS (IndexAux x) l -> Index [runIndex] :: Index -> NS (IndexAux x) l fromIndex :: SListI l => NP f l -> Index l x -> f x class GetIndex l x getIndex :: GetIndex l x => Proxy l -> Proxy x -> Index l x newtype SplitFunAuxAux b d SplitFunAuxAux :: [(NP I d, b)] -> SplitFunAuxAux b d [runSplitFunAuxAux] :: SplitFunAuxAux b d -> [(NP I d, b)] data SplitFunAux env a b SplitFunAux :: (a -> SOP I c) -> (NP (SplitFunAuxAux b) c) -> SplitFunAux env a b splitFunAuxP :: (SListI2 c, All2 (GetIndex env) c) => Proxy c -> (a -> SOP I c) -> NP (SplitFunAuxAux b) c -> SplitFunAux env a b data SplitFun (env :: [*]) a SplitFun :: (forall b. [(a, b)] -> [SplitFunAux env a b]) -> SplitFun a runSplitFun :: () => SplitFun env a -> [(a, b)] -> [SplitFunAux env a b] type SplitFuns cur env = NP (SplitFun env) cur splitStaticAux :: SplitFun env a -> Proxy (GetIndex env) splitStatic :: (SListI2 c, All2 (GetIndex env) c) => (a -> SOP I c) -> SplitFun env a splitOrd :: (Ord a, GetIndex env a) => SplitFun env a splitStructure :: (Generic a, SListI2 (Code a), All2 (GetIndex env) (Code a)) => SplitFun env a getIndex2 :: All (GetIndex l) r => SList r -> NP (Index l) r mode :: Ord a => [a] -> a nMinOnAux :: Ord b => (forall x. f x -> b) -> NP f a -> Maybe (b, NS f a) nMinOn :: Ord b => (forall x. f x -> b) -> NP f a -> Maybe (NS f a) data SelElemTypeAuxIndex env a SelElemTypeAuxIndex :: (Index env (Fst a)) -> (NP (Index env) (Snd a)) -> SelElemTypeAuxIndex env a selElemTypeAuxIndex :: NP (Index env) a -> NP (Index env) b -> NP (SelElemTypeAuxIndex env) (SelElemAux a b) fromSFA :: SplitFunAux (env :: [*]) a b -> Proxy (All (GetIndex env)) newtype BuildAuxAux a b BuildAuxAux :: [(a, Fst b, NP I (Snd b))] -> BuildAuxAux a b [runBuildAuxAux] :: BuildAuxAux a b -> [(a, Fst b, NP I (Snd b))] data Score Destructing :: Score Deciding :: Double -> Score newtype WithScore b x WithScore :: (Score, (SplitOn b x)) -> WithScore b x [runWithScore] :: WithScore b x -> (Score, (SplitOn b x)) 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) buildAux :: (SListI env, Ord b) => NP (Index env) a -> SplitFuns env env -> [(NP I a, b)] -> b -> DecisionTree a b build :: (All (GetIndex env) a, SListI env, Ord b) => SplitFuns env env -> [(NP I a, b)] -> b -> DecisionTree a b instance GHC.Classes.Eq Data.HappyTree.Score instance GHC.Classes.Ord Data.HappyTree.Score instance GHC.Base.Monoid (Data.HappyTree.SplitFun env a) instance forall k (r :: [k]) (x :: k) (l :: k). Data.HappyTree.GetIndex r x => Data.HappyTree.GetIndex (l : r) x instance forall k (l :: k) (r :: [k]). Data.HappyTree.GetIndex (l : r) l instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.HappyTree.SelElemSym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.HappyTree.SelElemAuxSym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.HappyTree.SelElemAuxSym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.HappyTree.RevAppendSym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.HappyTree.RevAppendSym0