On Tue, Feb 28, 2006 at 08:52:00AM +0100, Johannes Waldmann wrote: > Cale Gibbard wrote: > > > This is exactly why lists are so common. If people ask why lists are > > so common in lazy functional languages, they ought also to ask why > > loops are so common in imperative languages. > > A loop is a sequence of actions. In FP, I don't typically have actions, > rather I collect values, so I'd need several collections types, > among them: sequences, and among them: classical left-biased lists.
I think the point was that lists in haskell trancend just being a collection type or a data structure. They are a generally useful tool for composing functions. And like cale said, they often subsume loops and all sorts of other control constructs. I mean, even a for loop in haskell is done as mapM action [0..10] I'd say _most_ uses of lists are deforested away because they are used to express control and dataflow and arn't actually used as persistant structures. demoting them to just being a 'collection type' would be a disservice. That they can be used as a collection is a bonus, but not their main feature. the foldr/build trick for deforesting lists is really really cool! look at ghc core, it is amazing how all your lists just disapear and are turned into clever function compositions I would have never thought of :) John -- John Meacham - ⑆repetae.net⑆john⑈ _______________________________________________ Haskell-prime mailing list Haskell-prime@haskell.org http://haskell.org/mailman/listinfo/haskell-prime