|
|
|
Description |
SYB compatibility layer. This module serves as a drop-in
replacement in some situations for some of the SYB operations.
Users should also import Data.Generics.Uniplate.Data.
SYB is described in the paper: "Scrap your boilerplate: a practical design
pattern for generic programming" by Ralf Lammel and Simon
Peyton Jones.
|
|
Synopsis |
|
|
|
Documentation |
|
|
gmapT == descend |
|
gmapQl :: Uniplate a => (r -> r' -> r) -> r -> (a -> r') -> a -> r | Source |
|
Use children and foldl
|
|
gmapQr :: Uniplate a => (r' -> r -> r) -> r -> (a -> r') -> a -> r | Source |
|
Use children and foldr
|
|
|
Use children
|
|
|
Use children and !!
|
|
|
gmapM == descendM |
|
mkT :: (a -> a) -> a -> a | Source |
|
mkT == id |
|
|
everywhere == transformBi |
|
|
mkM == id |
|
|
everywhereM == transformBiM |
|
mkQ :: r -> (a -> r) -> (r, a -> r) | Source |
|
Only for use with everything
|
|
everything :: Biplate b a => (r -> r -> r) -> (r, a -> r) -> b -> r | Source |
|
Use universe or universeBi, perhaps followed by a fold.
Not an exact equivalent to the SYB everything, as the
operators may be applied in different orders.
|
|
Produced by Haddock version 2.4.2 |