Awesome
Fast binary serialisation and CBOR implementation for Haskell
This repo contains two libraries (plus associated tools):
The serialise
library is for serialising Haskell values and deserialising
them later.
The cborg
library provides a fast, standards-compliant implementation of the
'Concise Binary Object Representation' (specified in RFC 7049
) for Haskell.
The serialise
library uses the CBOR format, via the cborg
library, which
gives it the following benefits:
- fast serialisation and deserialisation
- compact binary format
- stable format across platforms (32/64bit, big/little endian)
- support for backwards compatible deserialisation with migrations
- the ability to inspect binary values with generic tools, e.g. for debugging or recovery, including generic conversion into JSON text
- potential to read the serialised format from other languages
- incremental or streaming (de)serialisation
- internal message framing (for use in network application)
- suitable to use with untrusted input (resistance to asymmetric resource consumption attacks)
Installation
They are just a cabal install
away on Hackage:
$ cabal install cborg serialise
There are also a few related packages that you may be interested in:
cborg-json
implements the bijection between JSON and CBOR specified in the RFC.cbor-tool
is a handy command-line utility for working with CBOR data.
Join in
Be sure to read the contributing guidelines. File bugs in the GitHub issue tracker.
Master git repository:
git clone https://github.com/well-typed/cborg.git
The tests for the cborg
package are currently included in the serialise
package.
$ cabal test serialise
Authors
See AUTHORS.txt.
License
BSD3. See LICENSE.txt for the exact terms of copyright and redistribution.