| Copyright | Lennart Kolmodin, Galois Inc. 2009 |
|---|---|
| License | BSD3-style (see LICENSE) |
| Maintainer | Trevor Elliott <trevor@galois.com> |
| Stability | Portability : |
| Safe Haskell | None |
| Language | Haskell98 |
Data.Serialize
Description
- class Serialize t where
- encode :: Serialize a => a -> ByteString
- encodeLazy :: Serialize a => a -> ByteString
- decode :: Serialize a => ByteString -> Either String a
- decodeLazy :: Serialize a => ByteString -> Either String a
- expect :: (Eq a, Serialize a) => a -> Get a
- module Data.Serialize.Get
- module Data.Serialize.Put
- module Data.Serialize.IEEE754
The Serialize class
class Serialize t where Source
If your compiler has support for the DeriveGeneric and
DefaultSignatures language extensions (ghc >= 7.2.1), the put and get
methods will have default generic implementations.
To use this option, simply add a deriving clause to your datatype
and declare a GenericSerialize instance for it without giving a definition for
put and get.
Minimal complete definition
Nothing
Methods
Encode a value in the Put monad.
Decode a value in the Get monad
Instances
Serialize serialisation
encode :: Serialize a => a -> ByteString Source
Encode a value using binary serialization to a strict ByteString.
encodeLazy :: Serialize a => a -> ByteString Source
Encode a value using binary serialization to a lazy ByteString.
decode :: Serialize a => ByteString -> Either String a Source
Decode a value from a strict ByteString, reconstructing the original structure.
decodeLazy :: Serialize a => ByteString -> Either String a Source
Decode a value from a lazy ByteString, reconstructing the original structure.
expect :: (Eq a, Serialize a) => a -> Get a Source
Perform an action, failing if the read result does not match the argument provided.
module Data.Serialize.Get
module Data.Serialize.Put
module Data.Serialize.IEEE754