The tagged-binary package

[Tags: binary, cloud, library, mit, serialization]

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

Versions0.1.0.0, 0.1.2.0, 0.2.0.0
Change logCHANGELOG.md
Dependenciesbase (>=4.6 && <5), binary (>=0.7.1), bytestring (>=0.10.4), pureMD5 (>=2.1) [details]
LicenseMIT
CopyrightCopyright (c) Justin Le 2014
AuthorJustin Le <justin@jle.im>
MaintainerJustin Le <justin@jle.im>
CategoryData, Serialization
Source repositoryhead: git clone https://github.com/mstksg/tagged-binary
UploadedTue May 12 04:52:18 UTC 2015 by jle
DistributionsNixOS:0.2.0.0, Stackage:0.2.0.0
Downloads383 total (39 in last 30 days)
Votes
0 []
StatusDocs available [build log]
Last success reported on 2015-05-12 [all 1 reports]

Modules

[Index]

Downloads

Maintainers' corner

For package maintainers and hackage trustees

Readme for tagged-binary-0.2.0.0

tagged-binary

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) 2014 Justin Le