uniplate-1.6.13: Help writing simple, concise and fast generic operations.
Safe HaskellNone
LanguageHaskell2010

Data.Generics.Biplate

Description

DEPRECATED: Use Data.Generics.Uniplate.Operations instead.

Requires multi-parameter type classes, so is no longer Haskell 98. These operations are easier to use and construct than the equivalent Data.Generics.UniplateStrOn methods, but perform the same operation.

It is recommended that instead of importing this module, you import one of the following modules, to construct instances:

Synopsis

Documentation

class Uniplate to => Biplate from to where Source #

Children are defined as the top-most items of type to starting at the root.

Methods

biplate :: BiplateType from to Source #

Instances

Instances details
(Typeable a, Typeable b, Uniplate b, PlateAll a b) => Biplate a b Source # 
Instance details

Defined in Data.Generics.PlateTypeable

Methods

biplate :: BiplateType a b Source #

(Data a, Data b, Uniplate b, Typeable a, Typeable b) => Biplate a b Source # 
Instance details

Defined in Data.Generics.PlateData

Methods

biplate :: BiplateType a b Source #

biplateList :: Biplate from to => from -> ([to], [to] -> from) Source #

Compatibility method, for direct users of the biplate function

universeBi :: Biplate from to => from -> [to] Source #

childrenBi :: Biplate from to => from -> [to] Source #

transformBi :: Biplate from to => (to -> to) -> from -> from Source #

transformBiM :: (Monad m, Biplate from to) => (to -> m to) -> from -> m from Source #

rewriteBi :: Biplate from to => (to -> Maybe to) -> from -> from Source #

rewriteBiM :: (Monad m, Biplate from to) => (to -> m (Maybe to)) -> from -> m from Source #

descendBi :: Biplate from to => (to -> to) -> from -> from Source #

descendBiM :: (Monad m, Biplate from to) => (to -> m to) -> from -> m from Source #

contextsBi :: Biplate from to => from -> [(to, to -> from)] Source #

holesBi :: Biplate from to => from -> [(to, to -> from)] Source #