binary-typed-0.1.0.0: Type-safe binary serialization
Binary
serialization tagged with type information, allowing for
typechecking and useful error messages at the receiving site.
This package serves the same purpose as tagged-binary, with a couple of key differences:
- Support of different kinds of serialized type annotations, each with specific strengths and weaknesses.
- Error messages can provide details on type errors at the cost of longer message lengths to include the necessary information.
- Serialization computationally almost as efficient as Data.Binary when precaching type representations; decoding however is slower. These values obviously depend a lot on the involved data and its type; an example benchmark is shown in the picture below.
- No depencency on
Internal
modules of other libraries, and a very small dependency footprint in general.
For information about usage, see the Data.Binary.Typed.Tutorial module.
Performance-wise, here is a value Right (Left <100 chars lipsum>)
of
type Either (Char, Int) (Either String (Maybe Integer))
benchmarked
using the Hashed
type representation: