Movatterモバイル変換
[0]ホーム
{-# LANGUAGE Trustworthy #-}{-# LANGUAGE NoImplicitPrelude #-}{-# LANGUAGE GeneralizedNewtypeDeriving #-}------------------------------------------------------------------------------- |-- Module : Data.Ord-- Copyright : (c) The University of Glasgow 2005-- License : BSD-style (see the file libraries/base/LICENSE)---- Maintainer : libraries@haskell.org-- Stability : stable-- Portability : portable---- Orderings-------------------------------------------------------------------------------moduleData.Ord(Ord(..),Ordering(..),Down(..),comparing,)whereimportGHC.BaseimportGHC.ShowimportGHC.ReadimportGHC.Num-- |-- > comparing p x y = compare (p x) (p y)---- Useful combinator for use in conjunction with the @xxxBy@ family-- of functions from "Data.List", for example:---- > ... sortBy (comparing fst) ...comparing::(Orda)=>(b->a)->b->b->Orderingcomparingpxy=compare(px)(py)-- | The 'Down' type allows you to reverse sort order conveniently. A value of type-- @'Down' a@ contains a value of type @a@ (represented as @'Down' a@).-- If @a@ has an @'Ord'@ instance associated with it then comparing two-- values thus wrapped will give you the opposite of their normal sort order.-- This is particularly useful when sorting in generalised list comprehensions,-- as in: @then sortWith by 'Down' x@---- @since 4.6.0.0newtypeDowna=Downaderiving(Eq-- ^ @since 4.6.0.0,Show-- ^ @since 4.7.0.0,Read-- ^ @since 4.7.0.0,Num-- ^ @since 4.11.0.0,Semigroup-- ^ @since 4.11.0.0,Monoid-- ^ @since 4.11.0.0)-- | @since 4.6.0.0instanceOrda=>Ord(Downa)wherecompare(Downx)(Downy)=y`compare`x-- | @since 4.11.0.0instanceFunctorDownwherefmap=coerce-- | @since 4.11.0.0instanceApplicativeDownwherepure=Down(<*>)=coerce-- | @since 4.11.0.0instanceMonadDownwhereDowna>>=k=ka
[8]ページ先頭