Safe Haskell | Safe |
---|---|
Language | Haskell98 |
- data Tree s a where
- transformTree :: Solver s => Mixin (Tree s a -> Tree s a)
- bindTree :: Solver s => Tree s a -> (a -> Tree s b) -> Tree s b
- insertTree :: Solver s => Tree s a -> Tree s () -> Tree s a
- (/\) :: MonadTree tree => tree a -> tree b -> tree b
- true :: MonadTree tree => tree ()
- disj :: MonadTree tree => [tree a] -> tree a
- conj :: MonadTree tree => [tree ()] -> tree ()
- disj2 :: MonadTree tree => [tree a] -> tree a
- prim :: MonadTree tree => TreeSolver tree a -> tree a
- addC :: MonadTree tree => Constraint (TreeSolver tree) -> tree ()
- addT :: MonadTree tree => Constraint (TreeSolver tree) -> tree Bool
- exist :: (MonadTree tree, Term (TreeSolver tree) t) => Int -> ([t] -> tree a) -> tree a
- forall :: (MonadTree tree, Term (TreeSolver tree) t) => [t] -> (t -> tree ()) -> tree ()
- indent :: Int -> String
- showTree :: (Show (Constraint s), Show a, Solver s) => Int -> Tree s a -> s String
- mapTree :: (Solver s1, Solver s2, MonadTree m, TreeSolver m ~ s2) => (forall t. s1 t -> s2 t) -> Tree s1 a -> m a
- class (Monad m, Solver (TreeSolver m)) => MonadTree m where
- type TreeSolver m :: * -> *
- untree :: Solver s => v -> Tree s v -> s v
Documentation
prim :: MonadTree tree => TreeSolver tree a -> tree a Source #
addC :: MonadTree tree => Constraint (TreeSolver tree) -> tree () Source #
addT :: MonadTree tree => Constraint (TreeSolver tree) -> tree Bool Source #
mapTree :: (Solver s1, Solver s2, MonadTree m, TreeSolver m ~ s2) => (forall t. s1 t -> s2 t) -> Tree s1 a -> m a Source #
class (Monad m, Solver (TreeSolver m)) => MonadTree m where Source #
Generalization of the search tree data type, allowing monad transformer decoration.
type TreeSolver m :: * -> * Source #
addTo :: Constraint (TreeSolver m) -> m a -> m a Source #
(\/) :: m a -> m a -> m a infixl 2 Source #
exists :: Term (TreeSolver m) t => (t -> m a) -> m a Source #
label :: TreeSolver m (m a) -> m a Source #