2012-03-22 3 views
18

LYAH을 읽고 Num 클래스가 Ord의 하위 집합이 아님을 확인했습니다. 즉, Ord의 구성원이 아닌 Num 유형이 있으며 이러한 유형을 구성 할 수있는 것은 무엇입니까?하스켈 클래스 Ord에 Num가 포함되어 있지 않습니까?

참고 : Num은 Ord의 하위 클래스가 아닙니다. 즉, 숫자에 대해 을 구성하는 것이 실제로 주문을 준수 할 필요가 없음을 의미합니다. 그래서 입니다. 왜 Num와 Ord 클래스 제약 조건을 모두 지정해야합니까? 더하기 또는 빼기 및 비교 작업을 수행 할 때.

고마워요!

답변

26

Complex number (Data.Complex.Complex)은 숫자 (Num)이지만 주문할 수없는 (Ord가 아님) 한 예입니다.

+1

오! 좋습니다. 감사! – Guido

+0

사전 적으로 주문하는 것이 잘못된 이유는 무엇입니까? – semicolon

+2

@semicolon 곱셈과 호환되는 복소수의 순서는 없습니다. http://math.stackexchange.com/questions/492890/ordering-on-complex-numbers를 참조하십시오. – kennytm

관련 문제