numeric-prelude-0.4.3: An experimental alternative hierarchy of numeric type classes

Copyright(c) Henning Thielemann 2007
Maintainernumericprelude@henning-thielemann.de
Stabilityprovisional
Portabilityportable
Safe HaskellSafe
LanguageHaskell98

Algebra.Indexable

Description

An alternative type class for Ord which allows an ordering for dictionaries like Data.Map and Data.Set independently from the ordering with respect to a magnitude.

Synopsis

Documentation

class Eq a => C a where #

Definition of an alternative ordering of objects independent from a notion of magnitude. For an application see MathObj.PartialFraction.

Minimal complete definition

compare

Methods

compare :: a -> a -> Ordering #

Instances

C Integer # 

Methods

compare :: Integer -> Integer -> Ordering #

C T # 

Methods

compare :: T -> T -> Ordering #

C a => C [a] # 

Methods

compare :: [a] -> [a] -> Ordering #

(Ord a, C a) => C (T a) # 

Methods

compare :: T a -> T a -> Ordering #

(C a, C a) => C (T a) # 

Methods

compare :: T a -> T a -> Ordering #

C a => C (T a) # 

Methods

compare :: T a -> T a -> Ordering #

(C a, C b) => C (a, b) # 

Methods

compare :: (a, b) -> (a, b) -> Ordering #

ordCompare :: Ord a => a -> a -> Ordering #

If the type has already an Ord instance it is certainly the most easiest to define compare to be equal to Ord's compare.

liftCompare :: C b => (a -> b) -> a -> a -> Ordering #

Lift compare implementation from a wrapped object.

data ToOrd a #

Wrap an indexable object such that it can be used in Data.Map and Data.Set.

Instances

Eq a => Eq (ToOrd a) # 

Methods

(==) :: ToOrd a -> ToOrd a -> Bool #

(/=) :: ToOrd a -> ToOrd a -> Bool #

C a => Ord (ToOrd a) # 

Methods

compare :: ToOrd a -> ToOrd a -> Ordering #

(<) :: ToOrd a -> ToOrd a -> Bool #

(<=) :: ToOrd a -> ToOrd a -> Bool #

(>) :: ToOrd a -> ToOrd a -> Bool #

(>=) :: ToOrd a -> ToOrd a -> Bool #

max :: ToOrd a -> ToOrd a -> ToOrd a #

min :: ToOrd a -> ToOrd a -> ToOrd a #

Show a => Show (ToOrd a) # 

Methods

showsPrec :: Int -> ToOrd a -> ShowS #

show :: ToOrd a -> String #

showList :: [ToOrd a] -> ShowS #

toOrd :: a -> ToOrd a #

fromOrd :: ToOrd a -> a #