compdata-0.6.1: Compositional Data Types

Portabilitynon-portable (GHC Extensions)
Stabilityexperimental
MaintainerPatrick Bahr <paba@diku.dk>
Safe HaskellNone

Data.Comp.Ordering

Description

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

Synopsis

Documentation

class EqF f => OrdF f whereSource

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

Methods

compareF :: Ord a => f a -> f a -> OrderingSource

Instances

OrdF [] 
OrdF Maybe 
(EqF ((,) a0), Ord a0) => OrdF ((,) a0) 
(EqF ((,,) a0 b0), Ord a0, Ord b0) => OrdF ((,,) a0 b0) 
(EqF (:+: f g), OrdF f, OrdF g) => OrdF (:+: f g)

OrdF is propagated through sums.

(EqF (Cxt h f), OrdF f) => OrdF (Cxt h f) 
(EqF ((,,,) a0 b0 c0), Ord a0, Ord b0, Ord c0) => OrdF ((,,,) a0 b0 c0) 
(EqF ((,,,,) a0 b0 c0 d0), Ord a0, Ord b0, Ord c0, Ord d0) => OrdF ((,,,,) a0 b0 c0 d0) 
(EqF ((,,,,,) a0 b0 c0 d0 e0), Ord a0, Ord b0, Ord c0, Ord d0, Ord e0) => OrdF ((,,,,,) a0 b0 c0 d0 e0) 
(EqF ((,,,,,,) a0 b0 c0 d0 e0 f0), Ord a0, Ord b0, Ord c0, Ord d0, Ord e0, Ord f0) => OrdF ((,,,,,,) a0 b0 c0 d0 e0 f0) 
(EqF ((,,,,,,,) a0 b0 c0 d0 e0 f0 g0), Ord a0, Ord b0, Ord c0, Ord d0, Ord e0, Ord f0, Ord g0) => OrdF ((,,,,,,,) a0 b0 c0 d0 e0 f0 g0) 
(EqF ((,,,,,,,,) a0 b0 c0 d0 e0 f0 g0 h0), Ord a0, Ord b0, Ord c0, Ord d0, Ord e0, Ord f0, Ord g0, Ord h0) => OrdF ((,,,,,,,,) a0 b0 c0 d0 e0 f0 g0 h0) 
(EqF ((,,,,,,,,,) a0 b0 c0 d0 e0 f0 g0 h0 i0), Ord a0, Ord b0, Ord c0, Ord d0, Ord e0, Ord f0, Ord g0, Ord h0, Ord i0) => OrdF ((,,,,,,,,,) a0 b0 c0 d0 e0 f0 g0 h0 i0)