[Haskell-cafe] Re: The Proliferation of List-Like Types
John Goerzen
jgoerzen at complete.org
Wed Feb 20 11:23:16 EST 2008
On 2008-02-20, Ross Paterson <ross at soi.city.ac.uk> wrote:
>> conventions won't be usable in my ByteString code, for instance.
>> [...]
>> http://software.complete.org/listlike/static/doc/ListLike/Data-ListLike.html
>
> As Henning pointed out, multiple parameter type classes are problematic
> for core libraries at present.
>
> An alternative might be explicit dictionaries. For example, a partial
> solution would be to provide coinductive views, i.e. for all these types
> to provide functions of a type like
>
> full -> Maybe (item, full)
Hrm, what exactly is the return data here? Is is the head and the
tail if the list has >= 1 item, or Nothing otherwise? Or...?
The problem with this approach, if my guess is correct, is that you
can't achieve native speed because you will have to be re-implementing
everything in terms of these functions. For instance, I'd be using a
re-implementation of length instead of a native ByteString length,
which may be much faster.
I notice that Data.Foldable does some similar things but does not use
multi-parameter type classes. I seem to recall that I attempted to do
this in the same manner, but got tripped up somewhere. I can't
remember now exactly what the problem was, but I can go back and look
if nobody knows off-hand.
What is the problem with MPTC in base?
More information about the Haskell-Cafe
mailing list