[project @ 2005-02-01 13:02:37 by simonmar]
[ghc-base.git] / Data / Typeable.hs
index e563129..efb020e 100644 (file)
@@ -1,4 +1,4 @@
-{-# OPTIONS -fno-implicit-prelude #-}
+{-# OPTIONS_GHC -fno-implicit-prelude #-}
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Data.Typeable
@@ -98,6 +98,7 @@ import GHC.Real( rem, Ratio )
 import GHC.IOBase
 import GHC.ST          -- So we can give Typeable instance for ST
 import GHC.Ptr          -- So we can give Typeable instance for Ptr
+import GHC.ForeignPtr   -- So we can give Typeable instance for ForeignPtr
 import GHC.Stable       -- So we can give Typeable instance for StablePtr
 #endif
 
@@ -105,7 +106,6 @@ import GHC.Stable       -- So we can give Typeable instance for StablePtr
 import Hugs.Prelude
 import Hugs.IO
 import Hugs.IORef
-import Hugs.ST
 import Hugs.IOExts
 #endif
 
@@ -465,7 +465,10 @@ INSTANCE_TYPEABLE1(Ratio,ratioTc,"Ratio")
 INSTANCE_TYPEABLE2(Either,eitherTc,"Either")
 INSTANCE_TYPEABLE2((->),funTc,"->")
 INSTANCE_TYPEABLE1(IO,ioTc,"IO")
+#ifdef __GLASGOW_HASKELL__
 INSTANCE_TYPEABLE2(ST,stTc,"ST")
+INSTANCE_TYPEABLE1(ForeignPtr,foreignPtrTc,"ForeignPtr")
+#endif
 INSTANCE_TYPEABLE0((),unitTc,"()")
 #ifndef __NHC__
 INSTANCE_TYPEABLE2((,),pairTc,",")
@@ -511,6 +514,9 @@ INSTANCE_TYPEABLE0(Char,charTc,"Char")
 INSTANCE_TYPEABLE0(Float,floatTc,"Float")
 INSTANCE_TYPEABLE0(Double,doubleTc,"Double")
 INSTANCE_TYPEABLE0(Int,intTc,"Int")
+#ifndef __NHC__
+INSTANCE_TYPEABLE0(Word,wordTc,"Word" )
+#endif
 INSTANCE_TYPEABLE0(Integer,integerTc,"Integer")
 INSTANCE_TYPEABLE0(Ordering,orderingTc,"Ordering")
 INSTANCE_TYPEABLE0(Handle,handleTc,"Handle")
@@ -530,8 +536,6 @@ INSTANCE_TYPEABLE0(TypeRep,typeRepTc,"TypeRep")
 
 #ifdef __GLASGOW_HASKELL__
 INSTANCE_TYPEABLE0(RealWorld,realWorldTc,"RealWorld")
-INSTANCE_TYPEABLE0(Word,wordTc,"Word" )
-INSTANCE_TYPEABLE1(MVar,mvarTc,"MVar" )
 #endif
 
 ---------------------------------------------