On Wed, Nov 26, 2008 at 1:54 PM, Miguel Mitrofanov
<[EMAIL PROTECTED]> wrote:
> 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
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to