packages feed

columbia-0.1.3: columbia.cabal

-- Initial columbia.cabal generated by cabal init.  For further 
-- documentation, see http://haskell.org/cabal/users-guide/

name:                columbia
version:             0.1.3
synopsis:            Enhanced serialization for media that support seeking.
description:         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:
	.
	* Changed the invariant surrounding how files are seeked for reading/writing procedures. This permits an additional optimization. See Utils module for details.
	.
	* Generalized the interface to Utils locking strategies to arbitrary monads incorporating exceptions and I/O.
	.
	Release notes for version 0.1.2:
	.
	* Minor bug fixes.
	.
	Release notes for version 0.1.3:
	.
	* implemented additional functions specifically for handling dictionaries ('Map's).
	.
	* Added basic theory.
license:             BSD3
license-file:        LICENSE
author:              James Candy
maintainer:          jacinablackbox@yahoo.com
-- copyright:           
category:            Serialization
build-type:          Simple
extra-source-files:  ChangeLog.md
cabal-version:       >=1.10

library
  exposed-modules:     Data.Columbia, Data.Columbia.CompoundData, Data.Columbia.Utils, Data.Columbia.Gc, Data.Columbia.CycleDetection, Data.Columbia.FRecord, Data.Columbia.WithAddress, Data.Columbia.Dictionaries, Data.Columbia.DynamicWithCtx, Data.Columbia.Types, Data.Columbia.Theory
  other-modules:       Data.Columbia.Internal.Coercion, Data.Columbia.Internal.RWInstances, Data.Columbia.Internal.Mapper, Data.Columbia.Internal.DualLock, Data.Columbia.Internal.IntegralTypes, Data.Columbia.Internal.Headers, Data.Columbia.Internal.Orphans, Data.Columbia.Internal.SeekableStream, Data.Columbia.Internal.SeekableWriter
  -- other-extensions:    
  build-depends:       base >=4.6 && <=5, filelock ==0.1.0.1, contravariant >=1.4, bytestring >=0.10 && <0.11, monad-loops ==0.4.3, mtl ==2.2.1, directory >=1.2.2.0, syb-with-class ==0.6.1.8, array >=0.5.1 && <0.5.3, invariant >=0.4.2, containers ==0.5.10.2, pointless-haskell ==0.0.9, mmorph ==1.0.9, parallel ==3.2.1.1, transformers >=0.4.2.0 && <=0.5.0.0, mmap ==0.5.9, data-endian ==0.1
  if os(mingw32)
    cpp-options: -DWIN32
  hs-source-dirs:      src
  default-language:    Haskell98