packages feed

adaptive-containers-0.3: adaptive-containers.cabal

name:               adaptive-containers
version:            0.3
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. Consider the expression:
    .
    > [ (x,y) | x <- [1..3], y <- [x..3] ]
    .
    * /[(Int,Int)]/: A regular list of pairs <http://code.haskell.org/~dons/images/vacuum/tuple-list.png>
    .
    * /[Pair Int Int]/: An adaptive list of pairs <http://code.haskell.org/~dons/images/vacuum/pair-list.png>
    .
    * /List (Pair Int Int)/: An adaptive list of adaptive pairs <http://code.haskell.org/~dons/images/vacuum/list-pair.png>
    .
    Currently supported adaptive containers: pairs, lists, maybes
    .
    Most unboxed element types are supported.

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
                        Data.Adaptive.Maybe

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

    extensions:         TypeFamilies,
                        BangPatterns,
                        MultiParamTypeClasses,
                        FlexibleContexts,
                        FlexibleInstances

    build-depends:      base