compdata-0.12: Compositional Data Types

Copyright(c) 2010-2011 Patrick Bahr
LicenseBSD3
MaintainerPatrick Bahr <paba@diku.dk>
Stabilityexperimental
Portabilitynon-portable (GHC Extensions)
Safe HaskellNone
LanguageHaskell98

Data.Comp.Ordering

Contents

Description

This module defines ordering of signatures, which lifts to ordering of terms and contexts.

Synopsis

Documentation

class EqF f => OrdF f where Source #

Signature ordering. An instance OrdF f gives rise to an instance Ord (Term f).

Minimal complete definition

compareF

Methods

compareF :: Ord a => f a -> f a -> Ordering Source #

Instances
OrdF [] Source # 
Instance details

Defined in Data.Comp.Ordering

Methods

compareF :: Ord a => [a] -> [a] -> Ordering Source #

OrdF Maybe Source # 
Instance details

Defined in Data.Comp.Ordering

Methods

compareF :: Ord a => Maybe a -> Maybe a -> Ordering Source #

Ord a => OrdF ((,) a) Source # 
Instance details

Defined in Data.Comp.Ordering

Methods

compareF :: Ord a0 => (a, a0) -> (a, a0) -> Ordering Source #

(Ord a, Ord b) => OrdF ((,,) a b) Source # 
Instance details

Defined in Data.Comp.Ordering

Methods

compareF :: Ord a0 => (a, b, a0) -> (a, b, a0) -> Ordering Source #

OrdF f => OrdF (Cxt h f) Source # 
Instance details

Defined in Data.Comp.Ordering

Methods

compareF :: Ord a => Cxt h f a -> Cxt h f a -> Ordering Source #

(Ord a, Ord b, Ord c) => OrdF ((,,,) a b c) Source # 
Instance details

Defined in Data.Comp.Ordering

Methods

compareF :: Ord a0 => (a, b, c, a0) -> (a, b, c, a0) -> Ordering Source #

(OrdF f, OrdF g) => OrdF (f :+: g) Source #

OrdF is propagated through sums.

Instance details

Defined in Data.Comp.Ordering

Methods

compareF :: Ord a => (f :+: g) a -> (f :+: g) a -> Ordering Source #

(Ord a, Ord b, Ord c, Ord d) => OrdF ((,,,,) a b c d) Source # 
Instance details

Defined in Data.Comp.Ordering

Methods

compareF :: Ord a0 => (a, b, c, d, a0) -> (a, b, c, d, a0) -> Ordering Source #

(Ord a, Ord b, Ord c, Ord d, Ord e) => OrdF ((,,,,,) a b c d e) Source # 
Instance details

Defined in Data.Comp.Ordering

Methods

compareF :: Ord a0 => (a, b, c, d, e, a0) -> (a, b, c, d, e, a0) -> Ordering Source #

(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f) => OrdF ((,,,,,,) a b c d e f) Source # 
Instance details

Defined in Data.Comp.Ordering

Methods

compareF :: Ord a0 => (a, b, c, d, e, f, a0) -> (a, b, c, d, e, f, a0) -> Ordering Source #

(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g) => OrdF ((,,,,,,,) a b c d e f g) Source # 
Instance details

Defined in Data.Comp.Ordering

Methods

compareF :: Ord a0 => (a, b, c, d, e, f, g, a0) -> (a, b, c, d, e, f, g, a0) -> Ordering Source #

(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h) => OrdF ((,,,,,,,,) a b c d e f g h) Source # 
Instance details

Defined in Data.Comp.Ordering

Methods

compareF :: Ord a0 => (a, b, c, d, e, f, g, h, a0) -> (a, b, c, d, e, f, g, h, a0) -> Ordering Source #

(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i) => OrdF ((,,,,,,,,,) a b c d e f g h i) Source # 
Instance details

Defined in Data.Comp.Ordering

Methods

compareF :: Ord a0 => (a, b, c, d, e, f, g, h, i, a0) -> (a, b, c, d, e, f, g, h, i, a0) -> Ordering Source #

Orphan instances

OrdF [] Source # 
Instance details

Methods

compareF :: Ord a => [a] -> [a] -> Ordering Source #

OrdF Maybe Source # 
Instance details

Methods

compareF :: Ord a => Maybe a -> Maybe a -> Ordering Source #

Ord a => OrdF ((,) a) Source # 
Instance details

Methods

compareF :: Ord a0 => (a, a0) -> (a, a0) -> Ordering Source #

(Ord a, Ord b) => OrdF ((,,) a b) Source # 
Instance details

Methods

compareF :: Ord a0 => (a, b, a0) -> (a, b, a0) -> Ordering Source #

OrdF f => OrdF (Cxt h f) Source # 
Instance details

Methods

compareF :: Ord a => Cxt h f a -> Cxt h f a -> Ordering Source #

(OrdF f, Ord a) => Ord (Cxt h f a) Source #

From an OrdF functor an Ord instance of the corresponding term type can be derived.

Instance details

Methods

compare :: Cxt h f a -> Cxt h f a -> Ordering #

(<) :: Cxt h f a -> Cxt h f a -> Bool #

(<=) :: Cxt h f a -> Cxt h f a -> Bool #

(>) :: Cxt h f a -> Cxt h f a -> Bool #

(>=) :: Cxt h f a -> Cxt h f a -> Bool #

max :: Cxt h f a -> Cxt h f a -> Cxt h f a #

min :: Cxt h f a -> Cxt h f a -> Cxt h f a #

(Ord a, Ord b, Ord c) => OrdF ((,,,) a b c) Source # 
Instance details

Methods

compareF :: Ord a0 => (a, b, c, a0) -> (a, b, c, a0) -> Ordering Source #

(OrdF f, OrdF g) => OrdF (f :+: g) Source #

OrdF is propagated through sums.

Instance details

Methods

compareF :: Ord a => (f :+: g) a -> (f :+: g) a -> Ordering Source #

(Ord a, Ord b, Ord c, Ord d) => OrdF ((,,,,) a b c d) Source # 
Instance details

Methods

compareF :: Ord a0 => (a, b, c, d, a0) -> (a, b, c, d, a0) -> Ordering Source #

(Ord a, Ord b, Ord c, Ord d, Ord e) => OrdF ((,,,,,) a b c d e) Source # 
Instance details

Methods

compareF :: Ord a0 => (a, b, c, d, e, a0) -> (a, b, c, d, e, a0) -> Ordering Source #

(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f) => OrdF ((,,,,,,) a b c d e f) Source # 
Instance details

Methods

compareF :: Ord a0 => (a, b, c, d, e, f, a0) -> (a, b, c, d, e, f, a0) -> Ordering Source #

(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g) => OrdF ((,,,,,,,) a b c d e f g) Source # 
Instance details

Methods

compareF :: Ord a0 => (a, b, c, d, e, f, g, a0) -> (a, b, c, d, e, f, g, a0) -> Ordering Source #

(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h) => OrdF ((,,,,,,,,) a b c d e f g h) Source # 
Instance details

Methods

compareF :: Ord a0 => (a, b, c, d, e, f, g, h, a0) -> (a, b, c, d, e, f, g, h, a0) -> Ordering Source #

(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i) => OrdF ((,,,,,,,,,) a b c d e f g h i) Source # 
Instance details

Methods

compareF :: Ord a0 => (a, b, c, d, e, f, g, h, i, a0) -> (a, b, c, d, e, f, g, h, i, a0) -> Ordering Source #