Hi,
class Monad m | Functor m, Monoid m where ...
Nice - I was having exactly this problem in Hoogle, if you list all the class dependancies first, you can't really see the actual class. It also makes grep'ing easier.
data EncodedStream m h | Monad m, Stream m h = ...
Ditto
sequence :: [m a] -> m [a] | Monad m
I don't like this. In the other two instances you are moving the most important information (the name of the thing) to the front. In this the name is at the front, but the instances move to the end, which isn't really where they should be. And following the function | rule function | predicates = body I would have said that logically, you want: sequence | Monad m :: [m a] -> m [a] (of course, this might present a problem for parsing...) Note this also makes sense compared to your: data Data | Classes = Alternatives design as well Thanks Neil _______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell