Re: Go Haskell! -> array libraries

From: Andrew Coppin
My view would be to let the free market of developers decide what is best. No bottlenecks -- there's too many Haskell libraries already (~1000 now).
And this approach has yielded more code than ever before, more libraries than ever before, and library authors are competing.
So let the market decide. We're a bazaar, not a cathedral.
I find this kind of attitude disturbing.
Are you seriously asserting that it's "bad" for people to stop and think about their designs before building? That it's "bad" for people to get together and coordinate their efforts? Would you really prefer each and every developer to reinvent the wheel until we have 50,000 equivilent but slightly different wheel implementations? Certainly you seem obsessed with the notion that "more packages on Hackage == better". Well in my book, quantity /= quality. (The latter being vastly more important than the former - while admittedly far harder to measure objectively.) I would far prefer to see one well-written library that solves the problem properly than see 25 incompatible libraries that all solve small fragments of the problem poorly. In the latter case, there will be no "competition" between libraries; everybody will just give up and not use *any* of them. You _can_ have too much choice!
I really hope I'm not the only person here who sees it this way...
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. 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. John

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.
Agreed. This goes beyond array libraries; do you have any idea how many "binary" packages there are?

Hello Andrew, Saturday, November 29, 2008, 9:23:29 PM, you wrote:
This goes beyond array libraries; do you have any idea how many "binary" packages there are?
i wrote 3 :))) -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com
participants (3)
-
Andrew Coppin
-
Bulat Ziganshin
-
John Lato