\documentclass{article}

\usepackage{hcar}

\begin{document}

\begin{hcarentry}[new]{Standard Collection Libraries}
\label{collections}
\report{Jean-Philippe Bernardy}
\status{beta, maintained}
\makeheader

Haskell implementations come with modules to handle Maps, Sets, and
other common data structures.  We call these modules the Standard
Collection Libraries.  The goal of this project is to improve on those.

Beside incremental improvement of the current code (stress testing,
ironing bugs out, small improvements of API, ...), a package has been
created to gather collection-related code that would not fit in the
base package yet. This includes changes that are either potentially
de-stabilizing, controversial or otherwise experimental.

This new package features notably:
\begin{itemize} 
\item New data structures, including AVL-tree based Maps and Sets
(thanks to Adrian Hey);
\item A class-based framework for collection data-types, equipped with
polymorphic testsuite and benchmarks.
\end{itemize}

The collection package is ready for experimental use by the haskell
community.  An important difference with other collection frameworks
is that this one is intended as an evolution rather that a
revolution. It should be easy to migrate code from using Data.Map/Set
to the new framework.

Future plans include:
\begin{itemize} 
\item Add more trie-based data structures;
\item Port the class framework to associated types.
\end{itemize}

\FurtherReading
\url{http://hackage.haskell.org/trac/ghc/wiki/CollectionLibraries}
\end{hcarentry}

\end{document}
