> I saw Mark yesterday, and have made quite a few changes
> as a result.  I've tried to address your points, and those
> made by others, but you'll have to judge how successfully!
> 
>       http://www.dcs.gla.ac.uk/~simonpj/multi-param.html
> 
> Anyway, you might want to take another look.

Sigh. The type of each class operation must still mention all of the
class type variables. However, I now see more clearly why this
restriction is necessary. The idea to split the class into two
is nice and solves the problem. BTW The definition contains a typo:

       class CollE s where
         empty  :: s
       class CollE s => Coll s a where
         insert :: s a -> a -> s a

The last line should probably read

         insert :: s -> a -> s

Cheers, Ralf


Reply via email to