cubix-compdata-1.0.1: Compositional Data Types for Cubix
Copyright(c) 2011 Patrick Bahr Tom Hvitved
LicenseBSD3
MaintainerTom Hvitved <hvitved@diku.dk>
Stabilityexperimental
Portabilitynon-portable (GHC Extensions)
Safe HaskellNone
LanguageHaskell98

Data.Comp.Multi.Ordering

Description

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

Synopsis

Documentation

class KEq f => KOrd f where Source #

Methods

kcompare :: f i -> f j -> Ordering Source #

Instances

Instances details
Ord a => KOrd (K a) Source # 
Instance details

Defined in Data.Comp.Multi.Ordering

Methods

kcompare :: K a i -> K a j -> Ordering Source #

(HFunctor f, OrdHF f, KOrd a) => KOrd (Cxt h f a) Source # 
Instance details

Defined in Data.Comp.Multi.Ordering

Methods

kcompare :: Cxt h f a i -> Cxt h f a j -> Ordering Source #

class EqHF f => OrdHF f where Source #

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

Methods

compareHF :: KOrd a => f a i -> f a j -> Ordering Source #

Instances

Instances details
(All OrdHF fs, EqHF (Sum fs)) => OrdHF (Sum fs) Source #

OrdHF is propagated through sums.

Instance details

Defined in Data.Comp.Multi.Ordering

Methods

compareHF :: forall (a :: Type -> Type) i j. KOrd a => Sum fs a i -> Sum fs a j -> Ordering Source #

(HFunctor f, OrdHF f) => OrdHF (Cxt h f) Source #

From an OrdHF difunctor an Ord instance of the corresponding term type can be derived.

Instance details

Defined in Data.Comp.Multi.Ordering

Methods

compareHF :: forall (a :: Type -> Type) i j. KOrd a => Cxt h f a i -> Cxt h f a j -> Ordering Source #

Orphan instances

KOrd f => Ord (E f) Source # 
Instance details

Methods

compare :: E f -> E f -> Ordering #

(<) :: E f -> E f -> Bool #

(<=) :: E f -> E f -> Bool #

(>) :: E f -> E f -> Bool #

(>=) :: E f -> E f -> Bool #

max :: E f -> E f -> E f #

min :: E f -> E f -> E f #

(HFunctor f, OrdHF f, KOrd a) => Ord (Cxt h f a i) Source #

Ordering of terms.

Instance details

Methods

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

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

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

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

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

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

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