packages feed

adaptive-containers-0.2: adaptive-containers.cabal

name:               adaptive-containers
version:            0.2
homepage:           http://code.haskell.org/~dons/code/adaptive-containers
synopsis:           Self optimizing container types
description:
    Self optimizing polymorphic container types.
    .
    Adaptive containers are polymorphic container types that use
    class associated data types to specialize particular element types
    to a more efficient container representation. The resulting
    structures tend to be both more time and space efficient.
    .
    A self-optimizing pair, for example, will unpack the constructors,
    yielding a representation for (Int,Char) requiring 8 bytes, instead
    of 24.
    . 
    This difference can be visualized, here for the value:
    .
    > [ (x,y) | x <- [1..3], y <- [x..3] ]
    .
    * A regular list of pairs <http://code.haskell.org/~dons/images/vacuum/tuple-list.png>
    .
    * An adaptive list of pairs <http://code.haskell.org/~dons/images/vacuum/pair-list.png>
    .
    * An adaptive list of adaptive pairs <http://code.haskell.org/~dons/images/vacuum/list-pair.png>
    .
    Currently supported adaptive types: pairs, lists

category:           Data
license:            BSD3
license-file:       LICENSE
author:             Don Stewart
maintainer:         Don Stewart (dons@galois.com)
cabal-version:      >= 1.2.3
build-type:         Simple

library
    exposed-modules:    Data.Adaptive.Tuple
                        Data.Adaptive.List

    ghc-options:        -O2
                        -fdicts-cheap
                        -Wall
    ghc-prof-options:   -prof -auto-all

    extensions:         TypeFamilies,
                        MultiParamTypeClasses,
                        FlexibleInstances,
                        OverlappingInstances

    build-depends:      base