The tagged-binary package

[ Tags: data, library, mit, serialization ] [ Propose Tags ]

Very minimal library providing tools for serializing and decoding data into ByteString tagged with information about its type, inspired by Cloud Haskell and distributed-process.

Intended for use by libraries and frameworks in distributed contexts, such as distributed computation between native servers and communication between native servers and ghcjs/various front-ends, for behavior similar to the polymorphic communication channels of Cloud Haskell and distributed-process; servers can send tagged data, and clients can choose to selectively accept, ignore or queue incoming messages depending on their types.

For basic encoding, decoding and categorization, only Data.Binary.Tagged should be necessary. Data.Binary.Tagged.Internal is exported in case you need it.

Quick example:

> let x = encodeTagged (1 :: Int)
> decodeTagged x :: Maybe Bool
Nothing
> decodeTagged x :: Maybe Int
Just 1

[Skip to Readme]

Properties

Versions 0.1.0.0, 0.1.2.0, 0.2.0.0, 0.2.0.1
Change log CHANGELOG.md
Dependencies base (>=4.6 && <5), base-compat, binary (>=0.7.1), bytestring (>=0.10.4), pureMD5 (>=2.1) [details]
License MIT
Copyright Copyright (c) Justin Le 2015
Author Justin Le <justin@jle.im>
Maintainer Justin Le <justin@jle.im>
Category Data, Serialization
Source repository head: git clone https://github.com/mstksg/tagged-binary
Uploaded Mon Jul 31 08:41:04 UTC 2017 by jle
Distributions LTSHaskell:0.2.0.1, NixOS:0.2.0.1, Stackage:0.2.0.1, Tumbleweed:0.2.0.0
Downloads 796 total (9 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2017-07-31 [all 1 reports]
Hackage Matrix CI

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for tagged-binary-0.2.0.1

[back to package description]

tagged-binary

tagged-binary on
Hackage tagged-binary on Stackage LTS tagged-binary on Stackage Nightly Build Status

Very minimal (Haskell) library providing tools for serializing and decoding data into ByteString tagged with information about its type, inspired by Cloud Haskell and distributed-process.

Intended for use by libraries and frameworks in distributed contexts, such as distributed computation between native servers and communication between native servers and ghcjs/various front-ends, for behavior similar to the polymorphic communication channels of Cloud Haskell and distributed-process; servers can send tagged data, and clients can choose to selectively accept, ignore or queue incoming messages depending on their types.

For basic encoding and decoding, only Data.Binary.Tagged should be necessary. Data.Binary.Tagged.Internal is exported in case you need it.

Quick example

> let x = encodeTagged (1 :: Int)
> decodeTagged x :: Maybe Bool
Nothing
> decodeTagged x :: Maybe Int
Just 1

Copyright

Copyright (c) 2015 Justin Le