|
|
|
Description |
Compos compatibility layer. This module serves as a drop-in
replacement in some situations for some of the Compos operations.
Only the single-type traversals are supported, on normal
algebraic data types. Users should also import either Data.Generics.Uniplate.Data
or Data.Generics.Uniplate.Direct.
Compos is described in the paper: "A Pattern for Almost Compositional Functions"
by Bjorn Bringert and Aarne Ranta.
|
|
Synopsis |
|
|
|
Documentation |
|
|
If you want to keep an existing type class
|
|
|
|
composOp == descend |
|
|
composOpM == descendM |
|
|
composOpM_ == composOpFold (return ()) (>>) |
|
|
composOpMonoid = composOpFold mempty mappend |
|
|
composOpMPlus = composOpFold mzero mplus |
|
composOpFold :: Uniplate a => b -> (b -> b -> b) -> (a -> b) -> a -> b | Source |
|
Probably replace with universe, perhaps para
|
|
Produced by Haddock version 2.4.2 |