columbia: Enhanced serialization for media that support seeking.

[ bsd3, library, serialization ] [ Propose Tags ]

Libraries such as binary and cereal support sequential reading and writing but do not rely on any further operations. Many media support seeking in files as well. This library implements a file format that supports random access to data entities by seeking. It is an attempt to improve and extend the applicability of the object graph serialization concept.

This library enforces a strong concept of immutability in its interface; this has a number of benefits including sharing of substructure. Files in its format have a nominal mutable state that changes over discrete time steps, permitting strong reasoning. See Theory module for a basic equational theory. This work was inspired by Haskell's focus on immutability, and by the programming langauge Clojure's disciplined management of mutable state.

The database's store has been implemented over memory maps for speed, and is portable between Windows and Linux platforms. This library also uses the syb-with-class library to streamline implementation of serializers for various data entities, so that you don't have to write much boilerplate ;).

Release notes for version 0.1.1:

Release notes for version 0.1.2:

Release notes for version 0.1.3:

Versions [faq],,, 0.1.1, 0.1.2, 0.1.3, 0.2
Change log
Dependencies array (>=0.5.1 && <0.5.3), base (>=4.6 && <=5), bytestring (==0.10.*), containers (==, contravariant (>=1.4), data-endian (==0.1), directory (>=, filelock (==, invariant (>=0.4.2), mmap (==0.5.9), mmorph (==1.0.9), monad-loops (==0.4.3), mtl (==2.2.1), parallel (==, pointless-haskell (==0.0.9), syb-with-class (==, transformers (>= && <= [details]
License BSD-3-Clause
Author James Candy
Category Serialization
Uploaded by JamesCandy at 2017-11-08T05:28:12Z
Distributions NixOS:0.2
Downloads 4021 total (115 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2017-11-08 [all 1 reports]




Maintainer's Corner

For package maintainers and hackage trustees