packages feed

total-maps-1.0.0.0: total-maps.cabal

name:                total-maps
version:             1.0.0.0
synopsis:            Dense and sparse total maps.
description:
  Total maps are maps that contain a value for every key. This library provides
  various flavors of total maps.
  .
  Dense maps store values for all keys. Sparse maps store a default value
  and the values which differ from the default. Sparse maps trade the lack
  of Traversable for a very fast Foldable instance (if the data is really sparse).
  .
  Bounded maps require the key type to be enumerable and bounded (have a
  finite number of values) for most of their functionality. Subset maps do not
  require the key to be bounded, instead they are parametized by a finite set of
  valid keys. The key subset is retrieved with help of the excellent
  'reflection' library.
  .
  The Data.Total.Array modules provide total map implementations based on vectors.
  It should usually be faster then Maps, unless you need to adjust single elements.
  .
  Maps in this library provide most of their functions in typeclasses and so
  the modules are designed to be imported unqualified.
license:             MIT
license-file:        LICENSE
author:              Paweł Nowak
maintainer:          pawel834@gmail.com
copyright:           2015 Paweł Nowak
category:            Data,Data Structures,Containers
build-type:          Simple
cabal-version:       >=1.10

library
  exposed-modules:     Data.Total.Subset
                       Data.Total.Map
                       Data.Total.Map.Subset
                       Data.Total.Map.Sparse
                       Data.Total.Array
                       Data.Total.Array.Subset
                       Data.Total.Internal.SparseFold
  default-extensions:  FlexibleContexts, FlexibleInstances,
                       ScopedTypeVariables, AutoDeriveTypeable
  build-depends:       base <5, containers >=0.3 && <1, reflection == 1.*,
                       keys ==3.*, linear >=1.1 && <2, bytes >=0.2 && <1,
                       distributive ==0.*, adjunctions ==4.*,
                       semigroups ==0.*, vector >=0.10 && <1
  hs-source-dirs:      src
  default-language:    Haskell2010