
6 Feb
2011
6 Feb
'11
2:48 p.m.
Random fact: Data.Map.insertWith' exists. Data.IntMap.insertWith' does *not* exist.
The containers library is a mess.
I'm inclined to agree. 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...