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