Skip to content

Latest commit

 

History

History
28 lines (21 loc) · 912 Bytes

README.md

File metadata and controls

28 lines (21 loc) · 912 Bytes

serdoc

Unified serialization with semi-automatic documentation

Introduction

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, and HasInfo for existing or new serialization formats.

It also includes an implementation of these typeclasses for the binary package.

Components

SerDoc is split up into two sub-projects:

  • serdoc-core, which provides the typeclasses and building blocks
  • serdoc-binary, which provides instances for binary

See their individual README.md files for details.