projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Follow library changes
[ghc-hetmet.git]
/
compiler
/
utils
/
Binary.hs
diff --git
a/compiler/utils/Binary.hs
b/compiler/utils/Binary.hs
index
ad048b6
..
466a515
100644
(file)
--- a/
compiler/utils/Binary.hs
+++ b/
compiler/utils/Binary.hs
@@
-467,6
+467,14
@@
instance (Binary a, Binary b) => Binary (Either a b) where
-- yes, we need Binary Integer and Binary Rational in basicTypes/Literal.lhs
instance Binary Integer where
-- yes, we need Binary Integer and Binary Rational in basicTypes/Literal.lhs
instance Binary Integer where
+ -- XXX This is hideous
+ put_ bh i = put_ bh (show i)
+ get bh = do str <- get bh
+ case reads str of
+ [(i, "")] -> return i
+ _ -> fail ("Binary Integer: got " ++ show str)
+
+ {-
put_ bh (S# i#) = do putByte bh 0; put_ bh (I# i#)
put_ bh (J# s# a#) = do
putByte bh 1
put_ bh (S# i#) = do putByte bh 0; put_ bh (I# i#)
put_ bh (J# s# a#) = do
putByte bh 1
@@
-484,6
+492,7
@@
instance Binary Integer where
sz <- get bh
(BA a#) <- getByteArray bh sz
return (J# s# a#)
sz <- get bh
(BA a#) <- getByteArray bh sz
return (J# s# a#)
+-}
-- As for the rest of this code, even though this module
-- exports it, it doesn't seem to be used anywhere else
-- As for the rest of this code, even though this module
-- exports it, it doesn't seem to be used anywhere else