X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2Futils%2FSerialized.hs;h=26cca6c386f9c255f862b35500a865f7a300d920;hp=06b92e4aa16fb1203e0b5008164861e1293dded4;hb=edc0bafd3fcd01b85a2e8894e5dfe149eb0e0857;hpb=09dc0da9b6ac28a80bb0e0e8caa4f5c0c1b6bf0c diff --git a/compiler/utils/Serialized.hs b/compiler/utils/Serialized.hs index 06b92e4..26cca6c 100644 --- a/compiler/utils/Serialized.hs +++ b/compiler/utils/Serialized.hs @@ -24,12 +24,7 @@ import Util import Data.Bits import Data.Word ( Word8 ) -#if __GLASGOW_HASKELL__ > 609 import Data.Data -#else -import Data.Generics -#endif -import Data.Typeable -- | Represents a serialized value of a particular type. Attempts can be made to deserialize it at certain types @@ -87,11 +82,7 @@ serializeConstr :: ConstrRep -> [Word8] -> [Word8] serializeConstr (AlgConstr ix) = serializeWord8 1 . serializeInt ix serializeConstr (IntConstr i) = serializeWord8 2 . serializeInteger i serializeConstr (FloatConstr r) = serializeWord8 3 . serializeRational r -#if __GLASGOW_HASKELL__ < 611 -serializeConstr (StringConstr s) = serializeWord8 4 . serializeString s -#else serializeConstr (CharConstr c) = serializeWord8 4 . serializeChar c -#endif deserializeConstr :: [Word8] -> (ConstrRep -> [Word8] -> a) -> a @@ -100,11 +91,7 @@ deserializeConstr bytes k = deserializeWord8 bytes $ \constr_ix bytes -> 1 -> deserializeInt bytes $ \ix -> k (AlgConstr ix) 2 -> deserializeInteger bytes $ \i -> k (IntConstr i) 3 -> deserializeRational bytes $ \r -> k (FloatConstr r) -#if __GLASGOW_HASKELL__ >= 611 4 -> deserializeChar bytes $ \c -> k (CharConstr c) -#else - 4 -> deserializeString bytes $ \s -> k (StringConstr s) -#endif x -> error $ "deserializeConstr: unrecognised serialized constructor type " ++ show x ++ " in context " ++ show bytes @@ -163,13 +150,11 @@ deserializeInteger :: [Word8] -> (Integer -> [Word8] -> a) -> a deserializeInteger bytes k = deserializeString bytes (k . read) -#if __GLASGOW_HASKELL__ >= 611 serializeChar :: Char -> [Word8] -> [Word8] serializeChar = serializeString . show deserializeChar :: [Word8] -> (Char -> [Word8] -> a) -> a deserializeChar bytes k = deserializeString bytes (k . read) -#endif serializeString :: String -> [Word8] -> [Word8]