Hoogle Search
Within LTS Haskell 24.39 (ghc-9.10.3)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
transformBis :: Data a => [[Transformer]] -> a -> auniplate Data.Generics.Uniplate.DataOnly Apply a sequence of transformations in order. This function obeys the equivalence:
transformBis [[transformer f],[transformer g],...] == transformBi f . transformBi g . ...
Each item of type [Transformer] is applied in turn, right to left. Within each [Transformer], the individual Transformer values may be interleaved. The implementation will attempt to perform fusion, and avoid walking any part of the data structure more than necessary. To further improve performance, you may wish to partially apply the first argument, which will calculate information about the relationship between the transformations.transformM :: (Monad m, Applicative m, Uniplate on) => (on -> m on) -> on -> m onuniplate Data.Generics.Uniplate.DataOnly Applicative variant of transform
transformer :: Data a => (a -> a) -> Transformeruniplate Data.Generics.Uniplate.DataOnly Wrap up a (a -> a) transformation function, to use with transformBis
transform :: Uniplate on => (on -> on) -> on -> onuniplate Data.Generics.Uniplate.Operations Transform every element in the tree, in a bottom-up manner. For example, replacing negative literals with literals:
negLits = transform f where f (Neg (Lit i)) = Lit (negate i) f x = x
transformBi :: Biplate from to => (to -> to) -> from -> fromuniplate Data.Generics.Uniplate.Operations No documentation available.
transformBiM :: (Monad m, Applicative m, Biplate from to) => (to -> m to) -> from -> m fromuniplate Data.Generics.Uniplate.Operations No documentation available.
transformM :: (Monad m, Applicative m, Uniplate on) => (on -> m on) -> on -> m onuniplate Data.Generics.Uniplate.Operations Applicative variant of transform
transformOn :: Uniplate to => BiplateType from to -> (to -> to) -> from -> fromuniplate Data.Generics.UniplateOn No documentation available.
transformOnM :: (Monad m, Uniplate to) => BiplateType from to -> (to -> m to) -> from -> m fromuniplate Data.Generics.UniplateOn No documentation available.
transform :: Uniplate on => (on -> on) -> on -> onuniplate Data.Generics.UniplateStr Transform every element in the tree, in a bottom-up manner. For example, replacing negative literals with literals:
negLits = transform f where f (Neg (Lit i)) = Lit (negate i) f x = x