哈斯克尔的奥德和复杂

时间:2017-05-01 21:16:59

标签: haskell complex-numbers

我有这个功能:

function x y z w = x >= y && z == w

为了定义我想到的类型:

function:: Ord a=> a-> a->a->a-> Bool

问题在于我没有考虑复杂的数字。我如何定义它包括它们?

1 个答案:

答案 0 :(得分:5)

我相信答案是你不能或不应该。

Ordtrichotomy的公理,这些复数显然不满足。所以我认为compare可能完全实现(虽然我可能会误解):

Prelude> :info Ord
class Eq a => Ord a where
  compare :: a -> a -> Ordering
  ...
Prelude> :info Ordering
data Ordering = LT | EQ | GT    -- Defined in ‘GHC.Types’

这解释了为什么没有人为您定义Ord个实例。

请参阅: