
Data.Generics.Schemes  Portability  nonportable (local universal quantification)  Stability  experimental  Maintainer  generics@haskell.org 



Description 
"Scrap your boilerplate"  Generic programming in Haskell
See http://www.cs.vu.nl/boilerplate/. The present module provides
frequently used generic traversal schemes.


Synopsis 



Documentation 

everywhere :: (forall a. Data a => a > a) > forall a. Data a => a > a  Source 

Apply a transformation everywhere in bottomup manner


everywhere' :: (forall a. Data a => a > a) > forall a. Data a => a > a  Source 

Apply a transformation everywhere in topdown manner



Variation on everywhere with an extra stop condition



Monadic variation on everywhere



Apply a monadic transformation at least somewhere



Summarise all nodes in topdown, lefttoright order



Get a list of all entities that meet a predicate



Look up a subterm by means of a maybetyped filter



Bottomup synthesis of a data structure;
1st argument z is the initial element for the synthesis;
2nd argument o is for reduction of results from subterms;
3rd argument f updates the synthesised data according to the given term



Compute size of an arbitrary data structure



Count the number of immediate subterms of the given term



Determine depth of the given term



Determine the number of all suitable nodes in a given term



Determine the number of all nodes in a given term



Determine the number of nodes of a given type in a given term



Find (unambiguously) an immediate subterm of a given type


Produced by Haddock version 2.6.1 