Safe Haskell | Trustworthy |
---|---|
Language | Haskell98 |
- data Tree f s a
- newtype Forest f s a = Forest (f (Tree f s a))
- _Leaf :: (Choice p, Applicative f) => p a (f a) -> p (Tree g s a) (f (Tree g s a))
- _Node :: (Choice p, Applicative f) => p (s, Forest g s a) (f (s, Forest g s a)) -> p (Tree g s a) (f (Tree g s a))
- _Forest :: (Profunctor p, Functor f) => p (g (Tree g s a)) (f (g (Tree g s a))) -> p (Forest g s a) (f (Forest g s a))
- free :: (Profunctor p, Functor f, Functor g) => p (Free (EnvT s g) a) (f (Free (EnvT s g) a)) -> p (Tree g s a) (f (Tree g s a))
- hmap :: Functor f => (forall x. f x -> g x) -> Tree f s a -> Tree g s a
- hfoldr :: Foldable f => (forall x. f x -> b -> b) -> b -> Tree f s a -> b
- htraverse :: (Traversable f, Applicative h, Monad h) => (forall x. f x -> h (g x)) -> Tree f s a -> h (Tree g s a)
- hmap' :: Functor f => (forall x. f x -> g x) -> Forest f s a -> Forest g s a
- hfoldr' :: Foldable f => (forall x. f x -> b -> b) -> b -> Forest f s a -> b
- htraverse' :: (Traversable f, Applicative h, Monad h) => (forall x. f x -> h (g x)) -> Forest f s a -> h (Forest g s a)
Documentation
Optics
_Node :: (Choice p, Applicative f) => p (s, Forest g s a) (f (s, Forest g s a)) -> p (Tree g s a) (f (Tree g s a)) Source #
_Forest :: (Profunctor p, Functor f) => p (g (Tree g s a)) (f (g (Tree g s a))) -> p (Forest g s a) (f (Forest g s a)) Source #
free :: (Profunctor p, Functor f, Functor g) => p (Free (EnvT s g) a) (f (Free (EnvT s g) a)) -> p (Tree g s a) (f (Tree g s a)) Source #
This is an Functor g => Iso' (Tree g s a) (Free (EnvT s g) a)
Higher order traversals
Trees
htraverse :: (Traversable f, Applicative h, Monad h) => (forall x. f x -> h (g x)) -> Tree f s a -> h (Tree g s a) Source #
Forests
htraverse' :: (Traversable f, Applicative h, Monad h) => (forall x. f x -> h (g x)) -> Forest f s a -> h (Forest g s a) Source #