[Haskell-cafe] Re: Data Structures GSoC

Achim Schneider barsoap at web.de
Wed Mar 31 03:14:18 EDT 2010

Nathan Hunter <enferris at gmail.com> wrote:

> -What Data Structures in the current libraries are in most dire need
> of improvement?
> -How necessary do you think a Containers Library revision is?
> -Should I attempt to build on the work Jamie Brandon did with Map as
> generalised tries, or is that beyond the scope of this project
As I see it, the most dire need is a unified interface to everything,
as well as instance selection, think

type instance MapOf Int = IntMap
type instance MapOf (a,b,c) =Tuple3Map(MapOf a)(MapOf b)(MapOf c) a b c

(gmap is very, very handy in every other aspect)

We have a lot of useful interfaces (e.g. ListLike, Edison), but they
don't seem to enjoy wide-spread popularity.

There's some lack when it comes to hashtables (I'd like to see a
Haskell implementation of perfect hashing, as that's sometimes jolly
useful) as well as cache-obliviousness (which is a can of worms:
Ensuring data layout requires using mutable Arrays, which sucks, so
what we actually need is a gc/allocator that can be told to allocate in
van Emde Boas layout), but in general, the implementation side is fine.

I would also like to be able to match on the left head of Data.Sequence
in the same way I can match on Lists (see e.g. [1]), but I guess
there'd have to me more commutity backing for that to become reality.

[1] http://hackage.haskell.org/trac/ghc/ticket/3583

(c) this sig last receiving data processing entity. Inspect headers
for copyright history. All rights reserved. Copying, hiring, renting,
performance and/or quoting of this signature prohibited.

More information about the Haskell-Cafe mailing list