[Haskell-cafe] Collections

Derek Elkins derek.a.elkins at gmail.com
Tue Jun 19 19:31:07 EDT 2007


On Tue, 2007-06-19 at 18:49 -0400, Brandon S. Allbery KF8NH wrote:
> On Jun 19, 2007, at 16:23 , Andrew Coppin wrote:
> 
> > Jens Fisseler wrote:
> >> The equivalent of Haskell's list data type would be the array type  
> >> of most imperative or object-oriented languages. Both are some  
> >> sort of basic collection type, good for their own sake, but if you  
> >> want more specialized collection types, you have to implement them.
> >
> > Maybe it's just a culture thing then... In your typical OOP  
> > language, you spend five minutes thinking "now, what collection  
> > type shall I use here?" before going on to actually write the code.  
> > In Haskell, you just go "OK, so I'll put a list here..."
> 
> Haskell is, in many ways, a descendant of Lisp.  This does tend to  
> lead to lists being *the* collection type, in my experience:  sure,  
> others get used, but lists are the ones you see in examples and such.

Not in my experience.  Certainly lists are used all over the place*, but
I rarely see them abused.  Also, "lists" aren't lists in Lisp, they're
more akin to rose-trees (or going the other way, there are only pairs in
Lisp).
 
In practice, almost all Haskell programs use custom defined algebraic
data types which are usually tree like.  Declaring and using data types
is easier in Haskell than it is in almost any other language.

* As others have mentioned, lists represent loops and loops are
extremely common in programming in general.



More information about the Haskell-Cafe mailing list