[project @ 2005-02-02 13:26:13 by simonpj]
[ghc-base.git] / System / Mem / StableName.hs
index 659dacb..f0919f9 100644 (file)
@@ -31,7 +31,11 @@ module System.Mem.StableName (
 
 import Prelude
 
-import Data.Dynamic
+import Data.Typeable
+
+#ifdef __HUGS__
+import Hugs.Stable
+#endif
 
 #ifdef __GLASGOW_HASKELL__
 import GHC.IOBase      ( IO(..) )
@@ -53,10 +57,10 @@ import GHC.Base             ( Int(..), StableName#, makeStableName#
   The reverse is not necessarily true: if two stable names are not
   equal, then the objects they name may still be equal.
 
-  Stable Names are similar to Stable Pointers ('Foreign.StablePtr'),
+  Stable Names are similar to Stable Pointers ("Foreign.StablePtr"),
   but differ in the following ways:
 
-  * There is no @freeStableName@ operation, unlike 'Foreign.StablePtr's.
+  * There is no @freeStableName@ operation, unlike "Foreign.StablePtr"s.
     Stable names are reclaimed by the runtime system when they are no
     longer needed.
 
@@ -106,5 +110,5 @@ instance Eq (StableName a) where
 
 #endif /* __GLASGOW_HASKELL__ */
 
-#include "Dynamic.h"
+#include "Typeable.h"
 INSTANCE_TYPEABLE1(StableName,stableNameTc,"StableName")