[Haskell-cafe] The Proliferation of List-Like Types

John Goerzen jgoerzen at complete.org
Wed Feb 20 23:35:32 EST 2008


On Wednesday 20 February 2008 8:42:56 pm Roman Leshchinskiy wrote:
> John Goerzen wrote:
> > I am concerned that the same thing is happening in Haskell.  We know
> > have three common list-like types: the regular list, strict
> > ByteString, and lazy ByteString.
>
> Why do you consider ByteString to be list-like but not arrays?
>
> > 1) Does everyone agree with me that we have a problem here?
>
> Yes, definitely. Haskell simply lacks a standard container library.
>
> > 2) Would it make sense to make ListLike, or something like it,
> >    part of the Haskell core?
>
> I don't think ListLike is the right approach. It's basically a fairly
> arbitrary collection of functions. It would be preferable, IMO, to
> identify a small set of combinators which would allow most list/sequence
> functions to be implemented generically and efficiently. Personally, I'd
> go with something like streams (the stream fusion ones) but I'm biased,
> of course.

From what I've heard of streams in this discussion, that does sound quite 
interesting.  Unless streams are used internally for the [] implementation, 
though, we'd still need something to resolve the library compatibility 
question.

-- John


More information about the Haskell-Cafe mailing list