|
Data.Generics.Schemes | Portability | non-portable (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 bottom-up manner
|
|
everywhere' :: (forall a. Data a => a -> a) -> forall a. Data a => a -> a | Source |
|
Apply a transformation everywhere in top-down manner
|
|
|
Variation on everywhere with an extra stop condition
|
|
|
Monadic variation on everywhere
|
|
|
Apply a monadic transformation at least somewhere
|
|
|
Summarise all nodes in top-down, left-to-right order
|
|
|
Get a list of all entities that meet a predicate
|
|
|
Look up a subterm by means of a maybe-typed filter
|
|
|
Bottom-up 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 |