Haskell newtype反转或翻转顺序

Cir*_*dec 10 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
Run Code Online (Sandbox Code Playgroud)

这在现有的Haskell软件包中存在于哪里?

注意:存在一个Reverse Functor非常不同的东西,幸运的是它有一种完全不兼容的东西.

lef*_*out 10

它只是在Data.Ord:Down.(但是这没有Bounded实例.)

  • 谢谢.我并不反对复制像我这样的类型的实例; 如果它被添加到其他代码中,编译器会告诉我它并且它很容易修复(只需删除一个实例). (2认同)