[Haskell-cafe] The container problem

Don Stewart dons at galois.com
Fri Sep 26 18:58:54 EDT 2008


bulat.ziganshin:
> Hello Andrew,
> 
> Saturday, September 27, 2008, 1:37:12 AM, you wrote:
> 
> answering your questions
> 
> 1) there is 2 libs providing common Java-like interfaces to
> containers: Edison and Collections. almost noone uses it
> 
> 2) having common type class for various things is most important when
> you write library that whould be able to deal with any if these
> things. when you just write application program, having the same
> interface plus ability to change imports in most cases are enough. and
> such meta-libraries are rather rare in Haskell world
> 
> 3) as laready said, we have classes for traversing containers that
> probably covers most of usage scenarios for Java too
> 
> now about arrays - they are much less used in Haskell than in
> imperative languages, especially mutable ones. to some degree, you may
> use parallel arrays, which are still informally supported, to some
> degree you may add required operations yourself (array package is
> pretty basic), and for some of your operations you need to provide
> more advanced array datastructure supporting slicing. try to use lists
> when something you need cannot be implemented with arrays. of my
> 10kloc "realworld" program, i had only one place when arrays are used

Bulat, have you looked at any of the newer array libraries, such as
uvector, vector, carray or hmatrix?

I'd be interested what you think of them. Especially uvector's
interface.

-- Don


More information about the Haskell-Cafe mailing list