name: adaptive-containers version: 0.2.1 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 . * /[Pair Int Int]/: An adaptive list of pairs . * /List (Pair Int Int)/: An adaptive list of adaptive pairs . Currently supported adaptive containers: pairs, lists . 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 ghc-options: -O2 -fdicts-cheap -Wall ghc-prof-options: -prof -auto-all extensions: TypeFamilies, BangPatterns, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances build-depends: base