PROPOSAL: classes for traversals

Bulat Ziganshin bulatz at
Mon Nov 21 07:36:25 EST 2005

Hello Ross,

Monday, November 21, 2005, 1:09:26 PM, you wrote:

>> why you don't just define:
>> instance Monad m => Applicative m where
>>         pure = return
>>         (<*>) = ap

RP> Because that instance would overlap with all others.  As it is, these
RP> classes are Haskell 98.  Better language support for superclasses would
RP> be useful here, but is unavailable right now.

with instances for [], IO and so on? but you can just omit them, they
just repeats this definition. or you think that some Monads will
require alternative definitions?

>> it is a beatiful contribution. but it doesn't work without definitions
>> for All, Any and so on :)

RP> I'm not sure I understand this one.  These types are defined in
RP> Data.Monoid in CVS, and coming soon to a Haskell implementation near you.

but not in ghc 6.4.1. btw, why you not wrote about this to main
Haskell list? imho this is enough important contribution to make all know
about this. and you are not answered about my TH suggestion

Best regards,
 Bulat                            mailto:bulatz at

More information about the Libraries mailing list