compdata-param-0.8: Parametric Compositional Data Types

Copyright(c) 2011 Patrick Bahr, Tom Hvitved
LicenseBSD3
MaintainerTom Hvitved <hvitved@diku.dk>
Stabilityexperimental
Portabilitynon-portable (GHC Extensions)
Safe HaskellNone
LanguageHaskell98

Data.Comp.Param.Multi.Ordering

Description

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

Synopsis

Documentation

class PEq a => POrd a where Source

Ordering of parametric values.

Methods

pcompare :: a i -> a j -> FreshM Ordering Source

Instances

POrd Name 
Ord a => POrd (K a) 
(OrdHD f, POrd a) => POrd (Cxt h f Name a) 

class EqHD f => OrdHD f where Source

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

Methods

compareHD :: POrd a => f Name a i -> f Name a j -> FreshM Ordering Source

Instances

(OrdHD f, OrdHD g) => OrdHD ((:+:) f g)

OrdHD is propagated through sums.

OrdHD f => OrdHD (Cxt h f)

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