
26 Nov
2008
26 Nov
'08
10:05 p.m.
On Wed, Nov 26, 2008 at 1:54 PM, Miguel Mitrofanov
Maybe it'd be more intuitive if written backwards:
AppEq f a <= (Applicative f, Eq a)
or even
AppEq f a => (Applicative f, Eq a)
The first is good, the second isn't. The first says the right thing: if you can prove Applicative f and Eq a, you have a way to prove AppEq f a. The second has the implication the wrong way around. Classes get the implication wrong too: class Eq a => Ord a doesn't say that if you can prove Eq a you can prove Ord a; it says that if you can prove Ord a you can prove Eq a /g -- I am in here