【发布时间】:2011-08-26 15:40:36
【问题描述】:
有些戒指可以配备标准功能:
class (Ring.C a) => EuclideanDomain a where
norm :: a -> Integer
使用此函数,可以以明显的方式对环进行排序:
compare x y = compare (norm x) (norm y)
但我不知道如何表明这一点。我试着做
instance (EuclideanDomain a, Eq a) => Ord a where
但这给了我一些警告,当我启用相关的编译器标志时,它告诉我“约束不小于实例头” - 如果我启用 UndecidableInstances,一切都会变糟。
有没有办法做我想做的事?
【问题讨论】:
标签: haskell