On Sun, Feb 6, 2011 at 8:48 PM, Andrew Coppin
<[email protected]> wrote:
> In particular, I get strange looks from people in the OOP community when I
> say I'm using a language that doesn't have any abstractions at all for
> dealing polymorphically with containers. In general, it's almost impossible
> to write a Haskell function that will work with a list, an (immutable)
> array, a hash table or a map, polymorphically.
>
> I guess it's the case that containers has been there so long now that
> changing it would break everything. Still, I find myself hungry for
> something better.
>
> Than again, the Prelude itself leaves several things to be desired...

I'm working on a new map data type at the moment, which is 2x faster
than Data.Map for all key types I've tried (i.e. Ints, Strings, and
ByteStrings). As part of that work I might try to define a map class
using associated data types. Data.Map can be made an instance of that
class without breaking any old code.

I think one reason we haven't seen a type class for containers is that
it isn't easy to create one using vanilla type classes (see Simon PJ's
paper on the topic.)

Johan

_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to