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