


Description 
The DataMc class is similar to the standard scrapyourboilerplate
Data.Data.Data class, but with two additional constraints:
1. All data must be constructed using a particular userdefined data type with a single
arbitrary argument.
2. The data structure must be traversed using a specific monad.
Other than this, the class behaves very much like the standard SYB design pattern.


Synopsis 



Documentation 

class Typeable a => DataMc m c a where 
The class itself. Here m is the monad, c the data type and a the type arguemnt
  Methods  gmapMc :: (forall d. DataMc m c d => c d > m (c d)) > c a > m (c a)  Generic mapping function for transformations.
  gmapMqc :: (forall d. DataMc m c d => c d > m r) > c a > m [r]  Generic mapping function for queries.

  Instances  


type GenericMc m c = forall a. DataMc m c a => c a > m (c a) 

type GenericMqc m r c = forall a. DataMc m c a => c a > m r 

everywhereMc :: Monad m => GenericMc m c > GenericMc m c 
Type extension for transformations. Acts similarly to Data.Generics.Schemes.everywhere


everythingMc :: Monad m => (r > r > r) > GenericMqc m r c > GenericMqc m r c 
Type extension for queries. Acts similarly to Data.Generics.Schemes.everything


Produced by Haddock version 2.4.2 