capnp: Cap'n Proto for Haskell

[ capnproto, data, library, mit, program, serialization ] [ Propose Tags ]

A native Haskell implementation of the Cap'N Proto cerialization format.

This library is currently serialization-only. RPC support is planned but not yet implemented. It works, but bear in mind that the API is considered unstable, and is likely to change to accomodate RPC, facilitate improved performance, etc.

The Data.Capnp.Tutorial module is the best place to start reading; the reference documentation can seem bewildering without that context.


[Skip to Readme]
Versions 0.1.0.0, 0.2.0.0, 0.3.0.0
Change log CHANGELOG.md
Dependencies array (==0.5.*), base (>=4.11 && <5.0), binary (>=0.8.5 && <0.9), bytes (>=0.15.4 && <0.16), bytestring (==0.10.*), capnp, cereal (>=0.5.5 && <0.6), containers (>=0.5.10 && <0.6), cpu (>=0.1.2 && <0.2), data-default (>=0.7.1 && <0.8), data-default-instances-vector (>=0.0.1 && <0.1), directory (>=1.3.0 && <1.4), dlist (>=0.8.0 && <0.9), exceptions (>=0.10.0 && <0.11), filepath (>=1.4.1 && <1.5), mtl (>=2.2.2 && <2.3), primitive (>=0.6.3 && <0.7), reinterpret-cast (>=0.1.0 && <0.2), text (>=1.2 && <2.0), transformers (>=0.5.2 && <0.6), utf8-string (>=1.0.1 && <1.1), vector (>=0.12.0 && <0.13), wl-pprint-text (==1.2.*) [details]
License MIT
Copyright 2016-2018 haskell-capnp contributors (see CONTRIBUTORS file).
Author Ian Denhardt
Maintainer ian@zenhack.net
Revised Revision 1 made by isd at Tue Oct 23 19:32:14 UTC 2018
Category Data, Serialization
Home page https://github.com/zenhack/haskell-capnp
Bug tracker https://github.com/zenhack/haskell-capnp/issues
Source repo head: git clone https://github.com/zenhack/haskell-capnp.git -b master
Uploaded by isd at Tue Sep 25 05:27:04 UTC 2018
Distributions NixOS:0.3.0.0
Executables capnpc-haskell
Downloads 93 total (15 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 2018-09-25 [all 1 reports]
Hackage Matrix CI

Modules

[Index] [Quick Jump]

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees


Readme for capnp-0.3.0.0

[back to package description]

build status hackage

A Haskell library for the Cap'N Proto Cerialization protocol.

Serialization (read & write) support is mostly finished, and already usable, with some limitations:

  • Generated schema currently ignore type parameters (#29).
  • Schema which define custom default values for fields of pointer type are rejected (#28).
  • We currently do not correctly handle decoding lists of structs from non-composite lists (#27). This means that, contrary to the protocol evolution rules, it is not safe to change a field from type List(T) (where T is any non-struct type) to a list of a struct type.

There is a module Data.Capnp.Tutorial which contains an introduction to the library; users are strongly encouraged to read this first, as the reference documentation can be bewildering without that context.

The API is considered unstable. It will likely see changes, for the sake of polish, consistency, etc. as well as to improve performance and accommodate more features as we add them (RPC in particular will probably require changing some interfaces).