HORIZON HASKELLDocslts/ghc-9.10.x248f8f02026-10-05Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · 248f8f0 · 2026-10-05

Moduleuniplate-1.6.13Haskell2010

Data.Generics.SYB

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.

  • 12 values
  • Packageuniplate-1.6.13
  • Exports12
  • LanguageHaskell2010
  • LicenceBSD-3-Clause
  • SourceSYB.hs
valuemkT :: (a -> a) -> a -> a
#
mkT == id
valuemkM :: (a -> m a) -> a -> m a
#
mkM == id
valuemkQ :: r -> (a -> r) -> (r, a -> r)
#

Only for use with everything

valueeverything :: Biplate b a => (r -> r -> r) -> (r, a -> r) -> b -> r
#

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.