GithubHelp home page GithubHelp logo

obadz / binary-serialise-cbor Goto Github PK

View Code? Open in Web Editor NEW

This project forked from well-typed/cborg

0.0 3.0 0.0 543 KB

Binary serialisation in the CBOR format

License: Other

Haskell 99.07% C 0.50% Shell 0.42%

binary-serialise-cbor's Introduction

Fast binary serialization for Haskell

Linux Build Status Windows Build Status Hackage version Stackage version BSD3 Haskell

This package provides pure, efficient serialization of Haskell values directly into ByteStrings for storage or transmission purposes. By providing a set of type class instances, you can also serialise any custom data type you have as well.

The underlying binary format used is the 'Concise Binary Object Representation', or CBOR, specified in RFC 7049. As a result, serialised Haskell values have implicit structure outside of the Haskell program itself, meaning they can be inspected or analyzed with custom tools.

This package is eventually intended to essentially replace the venerable binary library. Aside from having a more concise format that has an explicit structure, it's multiple times faster than competing libraries as well in both the encode and decode paths. However, the current API only provides CBOR serialization; it does not provide an independent notion of parsing arbitrary binary data. This has yet to be designed or implemented.

NOTE: Currently this library has not been released to the public Hackage server, although it has seen real production use (with good results). Experimentation is encouraged, with a healthy dose of careful inspection and analysis.

Installation

It's just a cabal install away on Hackage, or through Stackage:

$ cabal install binary-serialise-cbor
$ stack install binary-serialise-cbor

NOTE: The above currently WILL NOT WORK, as this package is not publicly released.

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/binary-serialise-cbor.git

Once you've done that, you can build it and run the tests:

$ cabal test
$ stack test

Note: the stack.yaml file is currently synchronized to LTS-6.1. Further compilers and other LTS releases are currently not supported with Stack at the moment, but the build is tested with older compilers and Cabal libraries (through Travis CI).

Authors

See AUTHORS.txt.

License

BSD3. See LICENSE.txt for the exact terms of copyright and redistribution.

binary-serialise-cbor's People

Contributors

dcoutts avatar shimuuar avatar thoughtpolice avatar michalt avatar adamgundry avatar arianvp avatar ondrap avatar bgamari avatar ibotty avatar teh avatar

Watchers

James Cloos avatar obadz avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.