projects
/
ghc-base.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
bump version to 4.3.0.0, added instance MonadPlus STM
[ghc-base.git]
/
System
/
Mem
/
StableName.hs
diff --git
a/System/Mem/StableName.hs
b/System/Mem/StableName.hs
index
d582dae
..
beeb514
100644
(file)
--- a/
System/Mem/StableName.hs
+++ b/
System/Mem/StableName.hs
@@
-31,14
+31,14
@@
module System.Mem.StableName (
import Prelude
import Prelude
-import Data.Dynamic
+import Data.Typeable
#ifdef __HUGS__
import Hugs.Stable
#endif
#ifdef __GLASGOW_HASKELL__
#ifdef __HUGS__
import Hugs.Stable
#endif
#ifdef __GLASGOW_HASKELL__
-import GHC.IOBase ( IO(..) )
+import GHC.IO ( IO(..) )
import GHC.Base ( Int(..), StableName#, makeStableName#
, eqStableName#, stableNameToInt# )
import GHC.Base ( Int(..), StableName#, makeStableName#
, eqStableName#, stableNameToInt# )
@@
-55,12
+55,14
@@
import GHC.Base ( Int(..), StableName#, makeStableName#
the same object.
The reverse is not necessarily true: if two stable names are not
the same object.
The reverse is not necessarily true: if two stable names are not
- equal, then the objects they name may still be equal.
+ equal, then the objects they name may still be equal. Note in particular
+ that `mkStableName` may return a different `StableName` after an
+ object is evaluated.
- Stable Names are similar to Stable Pointers ('Foreign.StablePtr'),
+ Stable Names are similar to Stable Pointers ("Foreign.StablePtr"),
but differ in the following ways:
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.
Stable names are reclaimed by the runtime system when they are no
longer needed.
@@
-110,5
+112,5
@@
instance Eq (StableName a) where
#endif /* __GLASGOW_HASKELL__ */
#endif /* __GLASGOW_HASKELL__ */
-#include "Dynamic.h"
+#include "Typeable.h"
INSTANCE_TYPEABLE1(StableName,stableNameTc,"StableName")
INSTANCE_TYPEABLE1(StableName,stableNameTc,"StableName")