[Haskell-cafe] Data.IArray rant
Ivan Lazar Miljenovic
ivan.miljenovic at gmail.com
Sat Sep 3 06:20:42 CEST 2011
On 3 September 2011 12:53, Evan Laforge <qdunkan at gmail.com> wrote:
>> To an extent, I wonder how much of this has been that arrays were
>> considered to be bad in Haskell, so no-one used them and no-one
>> bothered to try and improve the API much (and instead went and created
>> Vector, etc.).
> Right, so we have arrays with nicer APIs, it's just that IArray has
> been kind of left behind. I don't think arrays are bad in haskell, if
> that were true all those array libraries wouldn't be so popular! They
> might not be quite the go-to type as in other languages, but they
> still have their uses.
By "bad" I was referring to the API, not the data structure itself.
>> Any particular reason you used Data.Graph rather than fgl, etc.?
> Well... it's built-in... I needed something simple... so I just hit
> the ghc stdlib doc and searched for "graph". Is this another "left
> behind" module? And if so... well, maybe it's in the same situation
> as IArray.
Pretty much; most people don't even think much of FGL. I _really_
should get around to expanding and improving Edward Kmett's graph
library so that it covers more of a variety of common graph types and
operations, but I've been busy on specialised graph libraries that I
> Right, it's hard to dislike the underlying data structure, arrays are
> about as simple as you can get :) My guess was the same as yours,
> i.e. that it's been sort of neglected but it's a bootlib and H98 so
> nothing can happen to it quickly.
> I can't realistically suggest a course of action here, other than
> "gosh someone should update these modules" to which everyone is likely
> to say "yes, it would be nice if you did that" :) Or maybe in 10
> years vector will be mature and standard and the old Array stuff can
> be deprecated and removed. So that's why this was more of a little
> rant than actual constructive comment.
Maybe as a stop-gap some more useful/constructive
examples/documentation on how to use Data.Array.IArray compared to
vector, etc.? That said, apart from Data.Graph I don't know of many
uses of it nowadays, as everyone seems to have migrated to vector for
1-Dimensional and hmatrix/repa for multi-dimensional.
Ivan Lazar Miljenovic
Ivan.Miljenovic at gmail.com
More information about the Haskell-Cafe