Safe Haskell | None |
---|---|

Language | Haskell2010 |

- data Serialized
- seqSerialized :: Serialized -> ()
- toSerialized :: Typeable a => (a -> [Word8]) -> a -> Serialized
- fromSerialized :: forall a. Typeable a => ([Word8] -> a) -> Serialized -> Maybe a
- serializeWithData :: Data a => a -> [Word8]
- deserializeWithData :: Data a => [Word8] -> a

# Main Serialized data type

data Serialized Source

Represents a serialized value of a particular type. Attempts can be made to deserialize it at certain types

seqSerialized :: Serialized -> () Source

Force the contents of the Serialized value so weknow it doesn't contain any bottoms

# Going into and out of `Serialized`

toSerialized :: Typeable a => (a -> [Word8]) -> a -> Serialized Source

Put a Typeable value that we are able to actually turn into bytes into a `Serialized`

value ready for deserialization later

fromSerialized :: forall a. Typeable a => ([Word8] -> a) -> Serialized -> Maybe a Source

If the `Serialized`

value contains something of the given type, then use the specified deserializer to return `Just`

that.
Otherwise return `Nothing`

.

# Handy serialization functions

serializeWithData :: Data a => a -> [Word8] Source

Use a `Data`

instance to implement a serialization scheme dual to that of `deserializeWithData`

deserializeWithData :: Data a => [Word8] -> a Source

Use a `Data`

instance to implement a deserialization scheme dual to that of `serializeWithData`