From: Ian Lynagh Date: Thu, 19 Jun 2008 23:58:08 +0000 (+0000) Subject: Make the macros in Typeable.h add type signatures X-Git-Tag: 6_10_branch_has_been_forked~144 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=494543819fc0da09e4dfc30c0c88167ae1379ee5;p=ghc-base.git Make the macros in Typeable.h add type signatures --- diff --git a/Foreign/Ptr.hs b/Foreign/Ptr.hs index f57e1ac..7c83326 100644 --- a/Foreign/Ptr.hs +++ b/Foreign/Ptr.hs @@ -67,7 +67,7 @@ import Foreign.C.Types #endif import Data.Bits -import Data.Typeable ( Typeable(..), mkTyCon, mkTyConApp ) +import Data.Typeable import Foreign.Storable ( Storable(..) ) #ifdef __NHC__ diff --git a/GHC/Weak.lhs b/GHC/Weak.lhs index 3866ed4..66fefcd 100644 --- a/GHC/Weak.lhs +++ b/GHC/Weak.lhs @@ -21,7 +21,7 @@ module GHC.Weak where import GHC.Base import Data.Maybe import GHC.IOBase ( IO(..), unIO ) -import Data.Typeable ( Typeable1(..), mkTyCon, mkTyConApp ) +import Data.Typeable {-| A weak pointer object with a key and a value. The value has type @v@. diff --git a/include/Typeable.h b/include/Typeable.h index 5e22e03..649d6f3 100644 --- a/include/Typeable.h +++ b/include/Typeable.h @@ -15,6 +15,7 @@ #define TYPEABLE_H #define INSTANCE_TYPEABLE0(tycon,tcname,str) \ +tcname :: TyCon; \ tcname = mkTyCon str; \ instance Typeable tycon where { typeOf _ = mkTyConApp tcname [] } @@ -24,14 +25,17 @@ instance Typeable tycon where { typeOf _ = mkTyConApp tcname [] } -- // defined in Data.Typeable. #define INSTANCE_TYPEABLE1(tycon,tcname,str) \ +tcname :: TyCon; \ tcname = mkTyCon str; \ instance Typeable1 tycon where { typeOf1 _ = mkTyConApp tcname [] } #define INSTANCE_TYPEABLE2(tycon,tcname,str) \ +tcname :: TyCon; \ tcname = mkTyCon str; \ instance Typeable2 tycon where { typeOf2 _ = mkTyConApp tcname [] } #define INSTANCE_TYPEABLE3(tycon,tcname,str) \ +tcname :: TyCon; \ tcname = mkTyCon str; \ instance Typeable3 tycon where { typeOf3 _ = mkTyConApp tcname [] }