2012-03-22 5 views
18

Я читал LYAH и читал, что класс Num не является подмножеством Орда. Это означает, что существует тип Num, который не является членом Ord, что может быть таким типом?Класс Haskell Num не содержится в Ord?

Примечание: Num не является подклассом Ord. Это означает, что то, что составляет для номера, не обязательно должно соответствовать заказу. Итак, это , почему мы должны указывать ограничения класса Num и Ord, когда делает сложение или вычитание, а также сравнение.

Спасибо!

ответ

26

Complex number (Data.Complex.Complex) - один пример, который является числом (Num), но не может быть заказан (не Ord).

+1

Oh! Хорошо, это имеет смысл. Благодаря! – Guido

+0

Что не так с его лексикографическим оформлением? – semicolon

+2

@semicolon Нет порядка сложного числа, которое совместимо с его умножением. См. Http://math.stackexchange.com/questions/492890/ordering-on-complex-numbers. – kennytm

Смежные вопросы