/ / Haskell newtype che inverte o ribalta l'ordine - haskell, ordine, newtype

Haskell newtype che inverte o ribalta l'ordine - haskell, ordine, newtype

Probabilmente c'è già un newtype che ribalta il senso di Ord, Bounded, ecc. Qualcosa sulla falsariga di

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

Dove vive questo nei pacchetti Haskell esistenti?

Nota: c'è un esistente Reverse Functor, che fa qualcosa di molto diverso, e fortunatamente ha un tipo completamente incompatibile.

risposte:

9 per risposta № 1

È semplicemente dentro Data.Ord: Down. (Questo non ha un Bounded esempio, però.)