Unified serialization with semi-automatic documentation
SerDoc provides:
- A unified interface for serialization formats ("codecs"), in the form of a 'Serializable' typeclass.
- A mini-EDSL (
FieldInfo
) for describing serialization formats as first-class data structures, and a typeclass (HasInfo
) to link them to codecs and serializable Haskell types. - Building blocks and utility code for implementing
Codec
,Serializable
, andHasInfo
for existing or new serialization formats.
It also includes an implementation of these typeclasses for the binary
package.
SerDoc is split up into two sub-projects:
serdoc-core
, which provides the typeclasses and building blocksserdoc-binary
, which provides instances forbinary
See their individual README.md files for details.