
Generics.Regular.Rewriting.Machinery  Portability  nonportable  Stability  experimental  Maintainer  generics@haskell.org 





Description 
Summary: Core machinery for rewriting terms.


Synopsis 

class (Regular a, CrushR (PF a), GMap (PF a), GShow (PF a), Zip (PF a), LR (PF a), Functor (PF a)) => Rewrite a   applyRuleM :: (Builder r, Rewrite (Target r), Monad m) => r > Target r > m (Target r)   applyRule :: (Builder r, Rewrite (Target r)) => r > Target r > Target r   rewriteM :: (Rewrite a, Monad m) => Rule a > a > m a   rewrite :: Rewrite a => Rule a > a > a 



Type class synonym summarizing generic functions.



The Rewrite is a type class synonym, hiding some of the implementation
details.
To be able to use the rewriting functions, the user is required to provide
an instance of this type class.



Applying a rule specification to a term.



Applies a rule specification to a term, obtaining a monadic value.



Applies a rule specification to a term, obtaining the original term
when rewriting fails.


Rewriting a term.



Rewrites a term, obtaining a monadic value.



Rewrites a term, obtaining the original term when rewriting fails.


Produced by Haddock version 2.4.2 