@hackage binary-typed0.2.2

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 sharing 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 Hashed64 type representation:

(local copy)