| |||||||||||||||||||||
| |||||||||||||||||||||
| |||||||||||||||||||||
Description | |||||||||||||||||||||
This module retained Haskell 98 compatability, but users who are happy with multi-parameter type classes should look towards Data.Generics.Biplate. The only function missing from Data.Generics.Uniplate is fold, as it can be constructed from children and has little meaning in a multi-typed setting. All operations, apart from childrenOn should perform identically to their non On counterparts. | |||||||||||||||||||||
Synopsis | |||||||||||||||||||||
| |||||||||||||||||||||
Documentation | |||||||||||||||||||||
module Data.Generics.Uniplate | |||||||||||||||||||||
Types | |||||||||||||||||||||
type BiplateType from to = from -> ([to], [to] -> from) | |||||||||||||||||||||
Return all the top most children of type to within from. If from == to then this function should return the root as the single child. | |||||||||||||||||||||
Operations | |||||||||||||||||||||
Queries | |||||||||||||||||||||
universeOn :: Uniplate to => BiplateType from to -> from -> [to] | |||||||||||||||||||||
childrenOn :: Uniplate to => BiplateType from to -> from -> [to] | |||||||||||||||||||||
Return the children of a type. If to == from then it returns the original element (in constract to children | |||||||||||||||||||||
Transformations | |||||||||||||||||||||
transformOn :: Uniplate to => BiplateType from to -> (to -> to) -> from -> from | |||||||||||||||||||||
transformOnM :: (Monad m, Uniplate to) => BiplateType from to -> (to -> m to) -> from -> m from | |||||||||||||||||||||
rewriteOn :: Uniplate to => BiplateType from to -> (to -> Maybe to) -> from -> from | |||||||||||||||||||||
rewriteOnM :: (Monad m, Uniplate to) => BiplateType from to -> (to -> m (Maybe to)) -> from -> m from | |||||||||||||||||||||
descendOn :: Uniplate to => BiplateType from to -> (to -> to) -> from -> from | |||||||||||||||||||||
descendOnM :: (Monad m, Uniplate to) => BiplateType from to -> (to -> m to) -> from -> m from | |||||||||||||||||||||
Other | |||||||||||||||||||||
contextsOn :: Uniplate to => BiplateType from to -> from -> [(to, to -> from)] | |||||||||||||||||||||
Produced by Haddock version 0.8 |