doc tweaks, including more precise equations for evaluate
[haskell-directory.git] / Data / Generics / Twins.hs
index 99989bf..eed4ab6 100644 (file)
@@ -1,12 +1,12 @@
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Data.Generics.Twins
--- Copyright   :  (c) The University of Glasgow, CWI 2001--2003
+-- Copyright   :  (c) The University of Glasgow, CWI 2001--2004
 -- License     :  BSD-style (see the file libraries/base/LICENSE)
 -- 
 -- Maintainer  :  libraries@haskell.org
 -- Stability   :  experimental
--- Portability :  non-portable
+-- Portability :  non-portable (local universal quantification)
 --
 -- \"Scrap your boilerplate\" --- Generic programming in Haskell 
 -- See <http://www.cs.vu.nl/boilerplate/>. The present module 
@@ -234,15 +234,13 @@ couples of immediate subterms from the two given input terms.)
 
 geq x y = geq' x y
   where
-    geq' :: forall a b. (Data a, Data b) => a -> b -> Bool
+    geq' :: GenericQ (GenericQ Bool)
     geq' x y =     (toConstr x == toConstr y)
                 && and (gzipWithQ geq' x y)
 
 
 -- | Generic zip controlled by a function with type-specific branches
-gzip :: (forall a b. (Data a, Data b) => a -> b -> Maybe b)
-     -> (forall a b. (Data a, Data b) => a -> b -> Maybe b)
-
+gzip :: GenericQ (GenericM Maybe) -> GenericQ (GenericM Maybe)
 -- See testsuite/.../Generics/gzip.hs for an illustration
 gzip f x y = 
   f x y