[project @ 2004-02-14 18:18:46 by ralf]
[ghc-base.git] / Data / Generics / Aliases.hs
index 5ab0859..a8c59cc 100644 (file)
@@ -29,6 +29,9 @@ module Data.Generics.Aliases (
        GenericR,
         Generic,
         Generic'(..),
+        GenericT'(..),
+        GenericQ'(..),
+        GenericM'(..),
 
        -- * Inredients of generic functions
        orElse,
@@ -246,6 +249,11 @@ type Generic c = forall a. Data a => a -> c a
 data Generic' c = Generic' { unGeneric' :: Generic c }
 
 
+-- | Other first-class polymorphic wrappers
+newtype GenericT'   = GenericT' { unGenericT' :: Data a => a -> a }
+newtype GenericQ' r = GenericQ' { unGenericQ' :: GenericQ r }
+newtype GenericM' m = GenericM' { unGenericM' :: Data a => a -> m a }
+
 
 -- | Left-biased choice on maybies
 orElse :: Maybe a -> Maybe a -> Maybe a