[Haskell-cafe] Newbie Q: Deriving MyOrd from Eq problem
jupdike at gmail.com
Tue Jul 25 12:34:10 EDT 2006
> I am trying to derive MyOrd class from Eq (Prelude):
> class Eq a => MyOrd a where
> (%<=), (%>), (%>=) :: a -> a -> Bool
> x %<= y = (x < y || x == y)
> x %> y = y < x
> x %>= y = (y < x || x == y)
> Q: What's wrong? Why 'Ord' gets into play here?
You are using < which is a function on types that instance the class
Ord, so the compiler is telling you to add (Ord a) to the same place
you have (Eq a) or don't use < or > or any function in the class Ord.
You can the prelude and thus the Ord class and make your own < and >
functions but you can't make them refer to the "real" < and >
functions without Ord because that is where they live.
More information about the Haskell-Cafe