projects
/
ghc-base.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Derive some more instances, rather than writing them by hand
[ghc-base.git]
/
GHC
/
Ptr.lhs
diff --git
a/GHC/Ptr.lhs
b/GHC/Ptr.lhs
index
79dbc74
..
8087c77
100644
(file)
--- a/
GHC/Ptr.lhs
+++ b/
GHC/Ptr.lhs
@@
-1,5
+1,6
@@
\begin{code}
\begin{code}
-{-# OPTIONS_GHC -fno-implicit-prelude #-}
+{-# OPTIONS_GHC -XNoImplicitPrelude #-}
+{-# OPTIONS_HADDOCK hide #-}
-----------------------------------------------------------------------------
-- |
-- Module : GHC.Ptr
-----------------------------------------------------------------------------
-- |
-- Module : GHC.Ptr
@@
-21,7
+22,7
@@
import GHC.Base
import GHC.Show
import GHC.Num
import GHC.List ( length, replicate )
import GHC.Show
import GHC.Num
import GHC.List ( length, replicate )
-import Numeric ( showHex )
+import Numeric ( showHex )
#include "MachDeps.h"
#include "MachDeps.h"
@@
-144,21
+145,15
@@
castPtrToFunPtr (Ptr addr) = FunPtr addr
------------------------------------------------------------------------
-- Show instances for Ptr and FunPtr
------------------------------------------------------------------------
-- Show instances for Ptr and FunPtr
--- I have absolutely no idea why the WORD_SIZE_IN_BITS stuff is here
-#if (WORD_SIZE_IN_BITS == 32 || WORD_SIZE_IN_BITS == 64)
instance Show (Ptr a) where
instance Show (Ptr a) where
- showsPrec p (Ptr a) rs = pad_out (showHex (word2Integer(int2Word#(addr2Int# a))) "") rs
+ showsPrec _ (Ptr a) rs = pad_out (showHex (wordToInteger(int2Word#(addr2Int# a))) "")
where
-- want 0s prefixed to pad it out to a fixed length.
where
-- want 0s prefixed to pad it out to a fixed length.
- pad_out ls rs =
- '0':'x':(replicate (2*SIZEOF_HSPTR - length ls) '0') ++ ls ++ rs
- -- word2Integer :: Word# -> Integer (stolen from Word.lhs)
- word2Integer w = case word2Integer# w of
- (# s, d #) -> J# s d
+ pad_out ls =
+ '0':'x':(replicate (2*SIZEOF_HSPTR - length ls) '0') ++ ls ++ rs
instance Show (FunPtr a) where
showsPrec p = showsPrec p . castFunPtrToPtr
instance Show (FunPtr a) where
showsPrec p = showsPrec p . castFunPtrToPtr
-#endif
\end{code}
\end{code}