On 2008-02-20, Ross Paterson <[EMAIL PROTECTED]> 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? _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe