binary-typed-0.1.0.0: Type-safe binary serialization

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:

(local copy)

Modules