[Haskell-cafe] Re: Go Haskell! -> array libraries
andrewcoppin at btinternet.com
Sat Nov 29 13:23:29 EST 2008
John Lato wrote:
> I would love to see a perfect, unified array library in Haskell. I
> think everyone would. However, the problem Don, Roman, and others
> have raised is that there is no single consensus on what that library
> would look like, or how it would be implemented. It might be
> impossible for one library to fill the entire design space. Don's
> point is that, since this isn't yet a solved problem, having multiple
> implementations available to see what works well (and what doesn't) is
> a necessary step in finding a solution.
Interesting. I thought this was more or less a solved problem, it's just
that nobody has yet had time to implement it all.
I mean, the Haskell '98 array libraries are OK, they're just rather
incomplete. We could do with the ability to have unboxed arrays of
arbitrary types. (Remember, this is the default position in Pascal / C /
C++ / most normal programming languages - although admittedly they don't
have ADTs.) It would be useful to have the option to dispence with Ix.
(And bounds checks, if you're sure you don't need them.) It would also
be useful to be able to "slice" arrays. And we have the new
parallel-array stuff coming now, but (AFAIK) it's fairly nontrivial to
switch between normal arrays and parallel ones. Plus there are lots and
lots of "obvious" and useful functions that aren't in the libraries.
(E.g., in-place map for mutable arrays.) It seems silly to reimplement
these every time you want to do something; they should be in the libraries.
I doubt there will ever be a "perfect" library for anything. But that
doesn't mean we can't take a few steps in the right direction. ;-)
> I also think this is a exactly why Hackage needs a way to indicate
> that packages are deprecated/superceded by other packages. There was
> some talk about this recently, and IIRC even a submitted patch. I
> hope that gets adopted soon.
This goes beyond array libraries; do you have any idea how many "binary"
packages there are?
More information about the Haskell-Cafe