可能已经有一个newtype可以颠覆Ord,Bounded等的含义。

newtype FlipOrd a = FlipOrd {unFlip :: a} deriving (Eq)

instance (Ord a) => Ord (FlipOrd a) where
    compare = flip compare

instance (Bounded a) => Bounded (FlipOrd a) where
    minBound = FlipOrd maxBound
    maxBound = FlipOrd minBound

现有的Haskell软件包中的哪个位置?

注意:现有的Reverse Functor做了非常不同的事情,幸运的是,它具有完全不兼容的类型。

最佳答案

它只是在Data.Ord中: Down 。 (不过,这没有Bounded实例。)

关于Haskell新类型可反转或翻转订单,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20058841/

10-11 17:50