Hola,
En realidad en el estándar Haskell 2010 Eq (y también Show) es superclase de Num:
class (Eq a, Show a) => Num a where
[...]
Pero en GHC no lo es y tal parece que no lo va a ser en el futuro estándar Haskell 2020, quedando:
class Num a where
[...]
La razón principal es que no todas las instancias de Num necesitan ser instancias de Eq. Es más, para algunas instancias de Num no hay forma de implementar una instancia de Eq acorde.
Por más datos, aquí se puede encontrar la discusión sobre esa decisión: https://mail.haskell.org/pipermail/libraries/2011-September/016699.html
saludos
En realidad en el estándar Haskell 2010 Eq (y también Show) es superclase de Num:
class (Eq a, Show a) => Num a where
[...]
Pero en GHC no lo es y tal parece que no lo va a ser en el futuro estándar Haskell 2020, quedando:
class Num a where
[...]
La razón principal es que no todas las instancias de Num necesitan ser instancias de Eq. Es más, para algunas instancias de Num no hay forma de implementar una instancia de Eq acorde.
Por más datos, aquí se puede encontrar la discusión sobre esa decisión: https://mail.haskell.org/pipermail/libraries/2011-September/016699.html
saludos