Haskell newtype反转或翻转顺序

时间:2013-11-18 21:59:19

标签: haskell newtype

可能已经有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,它有一些非常不同的东西,幸运的是它们完全不兼容。

1 个答案:

答案 0 :(得分:10)

只是在Data.OrdDown。 (但这并没有Bounded个实例。)