-{-# OPTIONS_GHC -fno-implicit-prelude #-}
+{-# OPTIONS_GHC -fno-implicit-prelude -fallow-overlapping-instances #-}
+
+-- The -fallow-overlapping-instances flag allows the user to over-ride
+-- the instances for Typeable given here. In particular, we provide an instance
+-- instance ... => Typeable (s a)
+-- But a user might want to say
+-- instance ... => Typeable (MyType a b)
+
-----------------------------------------------------------------------------
-- |
-- Module : Data.Typeable
#endif
#ifdef __HUGS__
-import Hugs.Prelude
-import Hugs.IO
-import Hugs.IORef
-import Hugs.IOExts
+import Hugs.Prelude ( Key(..), TypeRep(..), TyCon(..), Ratio,
+ Exception, ArithException, IOException,
+ ArrayException, AsyncException, Handle,
+ Ptr, FunPtr, ForeignPtr, StablePtr )
+import Hugs.IORef ( IORef, newIORef, readIORef, writeIORef )
+import Hugs.IOExts ( unsafePerformIO, unsafeCoerce )
-- For the Typeable instance
import Hugs.Array ( Array )
import Hugs.ConcBase ( MVar )