
1 May
2013
1 May
'13
3:26 p.m.
Er, what I meant was
class Foo s t a b | s -> a, t -> b, s b -> t, t a -> s
That is what I get for dashing it off off the cuff. =)
Then s determines some type argument for it, t determines its type
argument, but Using s and the other type argument I can determine the whole
containing type 't' and vice versa.
instance Foo (Identity a) (Identity b) a b
On Wed, May 1, 2013 at 7:02 AM, Ian Lynagh
On Tue, Apr 30, 2013 at 11:35:10PM -0400, Edward Kmett wrote:
I have dozens of classes of forms like
class Wrapped s t a b | a -> s, b -> t, a t -> s, b s -> t
Isn't this equivalent to just
class Wrapped s t a b | a -> s, b -> t
?
Thanks Ian