select and selectSplit

Cale Gibbard cgibbard at
Fri Feb 15 08:11:53 EST 2008

On 15/02/2008, Johannes Waldmann <waldmann at> wrote:
> See - the proposed function is in the "wrong" module;
>  it uses a concrete data type (List)
>  which normally represents an abstract Sequence type
>  but here some abstract data type (Bag) is intended.
>  (my "favourite Haskell code smell": list obsession :-)
>  Why then, are there so many of these functions?

Lists are our loops. It has nothing to do with an aversion to using
other sequence types. Lists reify linear recursion directly. So the
real question I suppose is why loops are so popular.

 - Cale

More information about the Libraries mailing list