Подтвердить что ты не робот

Почему в Хаскелле нет орков "Nums Ords"?

Я знаю, что для типа, имеющего экземпляр класса Num, должен быть один из Eq и Show

class (Eq a, Show a) => Num a

Мне интересно, почему это должно быть Eq, а не Ord. Имеет ли смысл, чтобы числовой тип находился в Eq, но не в Ord?

4b9b3361

Ответ 1

Сложные числа, например, могут быть добавлены, вычтены, умножены и проверены на равенство, но не упорядочены. См. Complex a из базы данных Data.Complex.

Ответ 2

Обратите внимание, что ограничения Eq и Show также широко считались ошибочными. Например, они предотвращают вполне достоверные экземпляры Num для вещей, содержащих функции. В последней версии GHC эти ограничения также удаляются, оставляя Num без ограничений по суперклассам.