Commit d27b23c0 authored by Ian Lynagh's avatar Ian Lynagh
Browse files

Make the macros in Typeable.h add type signatures

parent 0eacb96e
...@@ -67,7 +67,7 @@ import Foreign.C.Types ...@@ -67,7 +67,7 @@ import Foreign.C.Types
#endif #endif
import Data.Bits import Data.Bits
import Data.Typeable ( Typeable(..), mkTyCon, mkTyConApp ) import Data.Typeable
import Foreign.Storable ( Storable(..) ) import Foreign.Storable ( Storable(..) )
#ifdef __NHC__ #ifdef __NHC__
......
...@@ -21,7 +21,7 @@ module GHC.Weak where ...@@ -21,7 +21,7 @@ module GHC.Weak where
import GHC.Base import GHC.Base
import Data.Maybe import Data.Maybe
import GHC.IOBase ( IO(..), unIO ) 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@. A weak pointer object with a key and a value. The value has type @v@.
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
#define TYPEABLE_H #define TYPEABLE_H
#define INSTANCE_TYPEABLE0(tycon,tcname,str) \ #define INSTANCE_TYPEABLE0(tycon,tcname,str) \
tcname :: TyCon; \
tcname = mkTyCon str; \ tcname = mkTyCon str; \
instance Typeable tycon where { typeOf _ = mkTyConApp tcname [] } instance Typeable tycon where { typeOf _ = mkTyConApp tcname [] }
...@@ -24,14 +25,17 @@ instance Typeable tycon where { typeOf _ = mkTyConApp tcname [] } ...@@ -24,14 +25,17 @@ instance Typeable tycon where { typeOf _ = mkTyConApp tcname [] }
-- // defined in Data.Typeable. -- // defined in Data.Typeable.
#define INSTANCE_TYPEABLE1(tycon,tcname,str) \ #define INSTANCE_TYPEABLE1(tycon,tcname,str) \
tcname :: TyCon; \
tcname = mkTyCon str; \ tcname = mkTyCon str; \
instance Typeable1 tycon where { typeOf1 _ = mkTyConApp tcname [] } instance Typeable1 tycon where { typeOf1 _ = mkTyConApp tcname [] }
#define INSTANCE_TYPEABLE2(tycon,tcname,str) \ #define INSTANCE_TYPEABLE2(tycon,tcname,str) \
tcname :: TyCon; \
tcname = mkTyCon str; \ tcname = mkTyCon str; \
instance Typeable2 tycon where { typeOf2 _ = mkTyConApp tcname [] } instance Typeable2 tycon where { typeOf2 _ = mkTyConApp tcname [] }
#define INSTANCE_TYPEABLE3(tycon,tcname,str) \ #define INSTANCE_TYPEABLE3(tycon,tcname,str) \
tcname :: TyCon; \
tcname = mkTyCon str; \ tcname = mkTyCon str; \
instance Typeable3 tycon where { typeOf3 _ = mkTyConApp tcname [] } instance Typeable3 tycon where { typeOf3 _ = mkTyConApp tcname [] }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment