If you want to keep an existing type class
Moduleuniplate-1.6.13Haskell2010
Data.Generics.Compos
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.
- 1 class
- 6 values
- Packageuniplate-1.6.13
- Exports7
- LanguageHaskell2010
- LicenceBSD-3-Clause
- SourceCompos.hs
composOp == descendcomposOpM == descendMcomposOpM_ == composOpFold (return ()) (>>)composOpMonoid = composOpFold mempty mappendcomposOpMPlus = composOpFold mzero mplus