adaptive-containers: Self optimizing container types

[ bsd3, data, library ] [ Propose Tags ]

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] ]

Currently supported adaptive containers: pairs, lists, maybes

Most unboxed element types are supported.


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 0.1, 0.2, 0.2.1, 0.3
Dependencies base [details]
License BSD-3-Clause
Author Don Stewart
Maintainer Don Stewart (
Category Data
Home page
Uploaded by DonaldStewart at 2009-04-11T23:07:53Z
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 3782 total (4 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]