From 3e8be64c9cdcac7f84e7cc66dc08987665c7b5c9 Mon Sep 17 00:00:00 2001 From: "simonpj@microsoft.com" Date: Tue, 27 Jul 2010 15:15:32 +0000 Subject: [PATCH] Add type signature in local where --- Data/Data.hs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Data/Data.hs b/Data/Data.hs index 78daea0..27f42fe 100644 --- a/Data/Data.hs +++ b/Data/Data.hs @@ -451,13 +451,16 @@ fromConstrB f = unID . gunfold k z -- | Monadic variation on 'fromConstrB' -fromConstrM :: (Monad m, Data a) +fromConstrM :: forall m a. (Monad m, Data a) => (forall d. Data d => m d) -> Constr -> m a fromConstrM f = gunfold k z where + k :: (forall b r. Data b => m (b -> r) -> m r) k c = do { c' <- c; b <- f; return (c' b) } + + z :: forall r. r -> m r z = return -- 1.7.10.4