numeric-prelude-0.4.4: An experimental alternative hierarchy of numeric type classes
Copyright(c) Henning Thielemann 2007
Maintainernumericprelude@henning-thielemann.de
Stabilityprovisional
Portabilityportable
Safe HaskellSafe-Inferred
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 Source #

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

Methods

compare :: a -> a -> Ordering Source #

Instances

Instances details
C Integer Source # 
Instance details

Defined in Algebra.Indexable

C T Source # 
Instance details

Defined in Number.Peano

Methods

compare :: T -> T -> Ordering Source #

C a => C [a] Source # 
Instance details

Defined in Algebra.Indexable

Methods

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

(Ord a, C a) => C (T a) Source # 
Instance details

Defined in Number.Ratio

Methods

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

(C a, C a) => C (T a) Source # 
Instance details

Defined in MathObj.Polynomial

Methods

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

C a => C (T a) Source # 
Instance details

Defined in Number.Complex

Methods

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

(C a, C b) => C (a, b) Source # 
Instance details

Defined in Algebra.Indexable

Methods

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

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

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 Source #

Lift compare implementation from a wrapped object.

data ToOrd a Source #

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

Instances

Instances details
Eq a => Eq (ToOrd a) Source # 
Instance details

Defined in Algebra.Indexable

Methods

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

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

C a => Ord (ToOrd a) Source # 
Instance details

Defined in Algebra.Indexable

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) Source # 
Instance details

Defined in Algebra.Indexable

Methods

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

show :: ToOrd a -> String #

showList :: [ToOrd a] -> ShowS #

toOrd :: a -> ToOrd a Source #

fromOrd :: ToOrd a -> a Source #