singletons-2.4: A framework for generating singleton types

Copyright(C) 2013 Richard Eisenberg
LicenseBSD-style (see LICENSE)
MaintainerRichard Eisenberg (rae@cs.brynmawr.edu)
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Data.Singletons.Prelude.Ord

Contents

Description

Defines the promoted version of Ord, POrd, and the singleton version, SOrd.

Synopsis

Documentation

class PEq a => POrd (a :: Type) Source #

Associated Types

type Compare (arg :: a) (arg :: a) :: Ordering Source #

type (arg :: a) < (arg :: a) :: Bool Source #

type (arg :: a) <= (arg :: a) :: Bool Source #

type (arg :: a) > (arg :: a) :: Bool Source #

type (arg :: a) >= (arg :: a) :: Bool Source #

type Max (arg :: a) (arg :: a) :: a Source #

type Min (arg :: a) (arg :: a) :: a Source #

Instances
POrd Bool Source # 
Instance details

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd Ordering Source # 
Instance details

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd () Source # 
Instance details

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd Void Source # 
Instance details

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd [a] Source # 
Instance details

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd (Maybe a) Source # 
Instance details

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd (NonEmpty a) Source # 
Instance details

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd (Either a b) Source # 
Instance details

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd (a, b) Source # 
Instance details

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd (a, b, c) Source # 
Instance details

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd (a, b, c, d) Source # 
Instance details

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd (a, b, c, d, e) Source # 
Instance details

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd (a, b, c, d, e, f) Source # 
Instance details

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

POrd (a, b, c, d, e, f, g) Source # 
Instance details

Associated Types

type Compare arg arg :: Ordering Source #

type arg < arg :: Bool Source #

type arg <= arg :: Bool Source #

type arg > arg :: Bool Source #

type arg >= arg :: Bool Source #

type Max arg arg :: a Source #

type Min arg arg :: a Source #

class SEq a => SOrd a where Source #

Methods

sCompare :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t :: Ordering) Source #

(%<) :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t :: Bool) infix 4 Source #

(%<=) :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t :: Bool) infix 4 Source #

(%>) :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t :: Bool) infix 4 Source #

(%>=) :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t :: Bool) infix 4 Source #

sMax :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t :: a) Source #

sMin :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t :: a) Source #

sCompare :: forall (t :: a) (t :: a). ((Apply (Apply CompareSym0 t) t :: Ordering) ~ Apply (Apply Compare_6989586621679304673Sym0 t) t) => Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t :: Ordering) Source #

(%<) :: forall (t :: a) (t :: a). ((Apply (Apply (<@#@$) t) t :: Bool) ~ Apply (Apply TFHelper_6989586621679304706Sym0 t) t) => Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t :: Bool) infix 4 Source #

(%<=) :: forall (t :: a) (t :: a). ((Apply (Apply (<=@#@$) t) t :: Bool) ~ Apply (Apply TFHelper_6989586621679304739Sym0 t) t) => Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t :: Bool) infix 4 Source #

(%>) :: forall (t :: a) (t :: a). ((Apply (Apply (>@#@$) t) t :: Bool) ~ Apply (Apply TFHelper_6989586621679304772Sym0 t) t) => Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t :: Bool) infix 4 Source #

(%>=) :: forall (t :: a) (t :: a). ((Apply (Apply (>=@#@$) t) t :: Bool) ~ Apply (Apply TFHelper_6989586621679304805Sym0 t) t) => Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t :: Bool) infix 4 Source #

sMax :: forall (t :: a) (t :: a). ((Apply (Apply MaxSym0 t) t :: a) ~ Apply (Apply Max_6989586621679304838Sym0 t) t) => Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t :: a) Source #

sMin :: forall (t :: a) (t :: a). ((Apply (Apply MinSym0 t) t :: a) ~ Apply (Apply Min_6989586621679304871Sym0 t) t) => Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t :: a) Source #

Instances
SOrd Bool Source # 
Instance details

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

SOrd Ordering Source # 
Instance details

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

SOrd () Source # 
Instance details

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

SOrd Void Source # 
Instance details

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

(SOrd a, SOrd [a]) => SOrd [a] Source # 
Instance details

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

SOrd a => SOrd (Maybe a) Source # 
Instance details

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

(SOrd a, SOrd [a]) => SOrd (NonEmpty a) Source # 
Instance details

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

(SOrd a, SOrd b) => SOrd (Either a b) Source # 
Instance details

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

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

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

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

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

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

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

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

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

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

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

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

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) Source #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) Source #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) Source #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) Source #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) Source #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) Source #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) Source #

type family Comparing (a :: TyFun b a -> Type) (a :: b) (a :: b) :: Ordering where ... Source #

Equations

Comparing p x y = Apply (Apply CompareSym0 (Apply p x)) (Apply p y) 

sComparing :: forall (t :: TyFun b a -> Type) (t :: b) (t :: b). SOrd a => Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ComparingSym0 t) t) t :: Ordering) Source #

thenCmp returns its second argument if its first is EQ; otherwise, it returns its first argument.

type family ThenCmp (a :: Ordering) (a :: Ordering) :: Ordering where ... Source #

Equations

ThenCmp EQ x = x 
ThenCmp LT _ = LTSym0 
ThenCmp GT _ = GTSym0 

sThenCmp :: forall (t :: Ordering) (t :: Ordering). Sing t -> Sing t -> Sing (Apply (Apply ThenCmpSym0 t) t :: Ordering) Source #

data family Sing (a :: k) Source #

The singleton kind-indexed data family.

Instances
data Sing (z :: Bool) Source # 
Instance details
data Sing (z :: Bool) where
data Sing (z :: Ordering) Source # 
Instance details
data Sing (z :: Ordering) where
data Sing (a :: Type) Source # 
Instance details
data Sing (a :: Type) = STypeRep (TypeRep a)
data Sing (n :: Nat) Source # 
Instance details
data Sing (n :: Nat) where
data Sing (n :: Symbol) Source # 
Instance details
data Sing (n :: Symbol) where
data Sing (z :: ()) Source # 
Instance details
data Sing (z :: ()) where
data Sing (z :: Void) Source # 
Instance details
data Sing (z :: Void)
data Sing (z :: [a]) Source # 
Instance details
data Sing (z :: [a]) where
data Sing (z :: Maybe a) Source # 
Instance details
data Sing (z :: Maybe a) where
data Sing (z :: NonEmpty a) Source # 
Instance details
data Sing (z :: NonEmpty a) where
data Sing (z :: Either a b) Source # 
Instance details
data Sing (z :: Either a b) where
data Sing (z :: (a, b)) Source # 
Instance details
data Sing (z :: (a, b)) where
data Sing (f :: k1 ~> k2) Source # 
Instance details
data Sing (f :: k1 ~> k2) = SLambda {}
data Sing (z :: (a, b, c)) Source # 
Instance details
data Sing (z :: (a, b, c)) where
data Sing (z :: (a, b, c, d)) Source # 
Instance details
data Sing (z :: (a, b, c, d)) where
data Sing (z :: (a, b, c, d, e)) Source # 
Instance details
data Sing (z :: (a, b, c, d, e)) where
data Sing (z :: (a, b, c, d, e, f)) Source # 
Instance details
data Sing (z :: (a, b, c, d, e, f)) where
data Sing (z :: (a, b, c, d, e, f, g)) Source # 
Instance details
data Sing (z :: (a, b, c, d, e, f, g)) where

Defunctionalization symbols

data ThenCmpSym1 (l :: Ordering) (l :: TyFun Ordering Ordering) Source #

Instances
SuppressUnusedWarnings ThenCmpSym1 Source # 
Instance details
type Apply (ThenCmpSym1 l1 :: TyFun Ordering Ordering -> *) (l2 :: Ordering) Source # 
Instance details
type Apply (ThenCmpSym1 l1 :: TyFun Ordering Ordering -> *) (l2 :: Ordering) = ThenCmp l1 l2

type ThenCmpSym2 (t :: Ordering) (t :: Ordering) = ThenCmp t t Source #

type LTSym0 = LT Source #

type EQSym0 = EQ Source #

type GTSym0 = GT Source #

data CompareSym0 (l :: TyFun a6989586621679303258 (TyFun a6989586621679303258 Ordering -> Type)) Source #

Instances
SuppressUnusedWarnings (CompareSym0 :: TyFun a6989586621679303258 (TyFun a6989586621679303258 Ordering -> Type) -> *) Source # 
Instance details
type Apply (CompareSym0 :: TyFun a6989586621679303258 (TyFun a6989586621679303258 Ordering -> Type) -> *) (l :: a6989586621679303258) Source # 
Instance details
type Apply (CompareSym0 :: TyFun a6989586621679303258 (TyFun a6989586621679303258 Ordering -> Type) -> *) (l :: a6989586621679303258) = CompareSym1 l

data CompareSym1 (l :: a6989586621679303258) (l :: TyFun a6989586621679303258 Ordering) Source #

Instances
SuppressUnusedWarnings (CompareSym1 :: a6989586621679303258 -> TyFun a6989586621679303258 Ordering -> *) Source # 
Instance details
type Apply (CompareSym1 l1 :: TyFun a Ordering -> *) (l2 :: a) Source # 
Instance details
type Apply (CompareSym1 l1 :: TyFun a Ordering -> *) (l2 :: a) = Compare l1 l2

type CompareSym2 (t :: a6989586621679303258) (t :: a6989586621679303258) = Compare t t Source #

data (<@#@$) (l :: TyFun a6989586621679303258 (TyFun a6989586621679303258 Bool -> Type)) Source #

Instances
SuppressUnusedWarnings ((<@#@$) :: TyFun a6989586621679303258 (TyFun a6989586621679303258 Bool -> Type) -> *) Source # 
Instance details
type Apply ((<@#@$) :: TyFun a6989586621679303258 (TyFun a6989586621679303258 Bool -> Type) -> *) (l :: a6989586621679303258) Source # 
Instance details
type Apply ((<@#@$) :: TyFun a6989586621679303258 (TyFun a6989586621679303258 Bool -> Type) -> *) (l :: a6989586621679303258) = (<@#@$$) l

data (l :: a6989586621679303258) <@#@$$ (l :: TyFun a6989586621679303258 Bool) Source #

Instances
SuppressUnusedWarnings ((<@#@$$) :: a6989586621679303258 -> TyFun a6989586621679303258 Bool -> *) Source # 
Instance details
type Apply ((<@#@$$) l1 :: TyFun a Bool -> *) (l2 :: a) Source # 
Instance details
type Apply ((<@#@$$) l1 :: TyFun a Bool -> *) (l2 :: a) = l1 < l2

type (<@#@$$$) (t :: a6989586621679303258) (t :: a6989586621679303258) = (<) t t Source #

data (<=@#@$) (l :: TyFun a6989586621679303258 (TyFun a6989586621679303258 Bool -> Type)) Source #

Instances
SuppressUnusedWarnings ((<=@#@$) :: TyFun a6989586621679303258 (TyFun a6989586621679303258 Bool -> Type) -> *) Source # 
Instance details
type Apply ((<=@#@$) :: TyFun a6989586621679303258 (TyFun a6989586621679303258 Bool -> Type) -> *) (l :: a6989586621679303258) Source # 
Instance details
type Apply ((<=@#@$) :: TyFun a6989586621679303258 (TyFun a6989586621679303258 Bool -> Type) -> *) (l :: a6989586621679303258) = (<=@#@$$) l

data (l :: a6989586621679303258) <=@#@$$ (l :: TyFun a6989586621679303258 Bool) Source #

Instances
SuppressUnusedWarnings ((<=@#@$$) :: a6989586621679303258 -> TyFun a6989586621679303258 Bool -> *) Source # 
Instance details
type Apply ((<=@#@$$) l1 :: TyFun a Bool -> *) (l2 :: a) Source # 
Instance details
type Apply ((<=@#@$$) l1 :: TyFun a Bool -> *) (l2 :: a) = l1 <= l2

type (<=@#@$$$) (t :: a6989586621679303258) (t :: a6989586621679303258) = (<=) t t Source #

data (>@#@$) (l :: TyFun a6989586621679303258 (TyFun a6989586621679303258 Bool -> Type)) Source #

Instances
SuppressUnusedWarnings ((>@#@$) :: TyFun a6989586621679303258 (TyFun a6989586621679303258 Bool -> Type) -> *) Source # 
Instance details
type Apply ((>@#@$) :: TyFun a6989586621679303258 (TyFun a6989586621679303258 Bool -> Type) -> *) (l :: a6989586621679303258) Source # 
Instance details
type Apply ((>@#@$) :: TyFun a6989586621679303258 (TyFun a6989586621679303258 Bool -> Type) -> *) (l :: a6989586621679303258) = (>@#@$$) l

data (l :: a6989586621679303258) >@#@$$ (l :: TyFun a6989586621679303258 Bool) Source #

Instances
SuppressUnusedWarnings ((>@#@$$) :: a6989586621679303258 -> TyFun a6989586621679303258 Bool -> *) Source # 
Instance details
type Apply ((>@#@$$) l1 :: TyFun a Bool -> *) (l2 :: a) Source # 
Instance details
type Apply ((>@#@$$) l1 :: TyFun a Bool -> *) (l2 :: a) = l1 > l2

type (>@#@$$$) (t :: a6989586621679303258) (t :: a6989586621679303258) = (>) t t Source #

data (>=@#@$) (l :: TyFun a6989586621679303258 (TyFun a6989586621679303258 Bool -> Type)) Source #

Instances
SuppressUnusedWarnings ((>=@#@$) :: TyFun a6989586621679303258 (TyFun a6989586621679303258 Bool -> Type) -> *) Source # 
Instance details
type Apply ((>=@#@$) :: TyFun a6989586621679303258 (TyFun a6989586621679303258 Bool -> Type) -> *) (l :: a6989586621679303258) Source # 
Instance details
type Apply ((>=@#@$) :: TyFun a6989586621679303258 (TyFun a6989586621679303258 Bool -> Type) -> *) (l :: a6989586621679303258) = (>=@#@$$) l

data (l :: a6989586621679303258) >=@#@$$ (l :: TyFun a6989586621679303258 Bool) Source #

Instances
SuppressUnusedWarnings ((>=@#@$$) :: a6989586621679303258 -> TyFun a6989586621679303258 Bool -> *) Source # 
Instance details
type Apply ((>=@#@$$) l1 :: TyFun a Bool -> *) (l2 :: a) Source # 
Instance details
type Apply ((>=@#@$$) l1 :: TyFun a Bool -> *) (l2 :: a) = l1 >= l2

type (>=@#@$$$) (t :: a6989586621679303258) (t :: a6989586621679303258) = (>=) t t Source #

data MaxSym0 (l :: TyFun a6989586621679303258 (TyFun a6989586621679303258 a6989586621679303258 -> Type)) Source #

Instances
SuppressUnusedWarnings (MaxSym0 :: TyFun a6989586621679303258 (TyFun a6989586621679303258 a6989586621679303258 -> Type) -> *) Source # 
Instance details
type Apply (MaxSym0 :: TyFun a6989586621679303258 (TyFun a6989586621679303258 a6989586621679303258 -> Type) -> *) (l :: a6989586621679303258) Source # 
Instance details
type Apply (MaxSym0 :: TyFun a6989586621679303258 (TyFun a6989586621679303258 a6989586621679303258 -> Type) -> *) (l :: a6989586621679303258) = MaxSym1 l

data MaxSym1 (l :: a6989586621679303258) (l :: TyFun a6989586621679303258 a6989586621679303258) Source #

Instances
SuppressUnusedWarnings (MaxSym1 :: a6989586621679303258 -> TyFun a6989586621679303258 a6989586621679303258 -> *) Source # 
Instance details
type Apply (MaxSym1 l1 :: TyFun a a -> *) (l2 :: a) Source # 
Instance details
type Apply (MaxSym1 l1 :: TyFun a a -> *) (l2 :: a) = Max l1 l2

type MaxSym2 (t :: a6989586621679303258) (t :: a6989586621679303258) = Max t t Source #

data MinSym0 (l :: TyFun a6989586621679303258 (TyFun a6989586621679303258 a6989586621679303258 -> Type)) Source #

Instances
SuppressUnusedWarnings (MinSym0 :: TyFun a6989586621679303258 (TyFun a6989586621679303258 a6989586621679303258 -> Type) -> *) Source # 
Instance details
type Apply (MinSym0 :: TyFun a6989586621679303258 (TyFun a6989586621679303258 a6989586621679303258 -> Type) -> *) (l :: a6989586621679303258) Source # 
Instance details
type Apply (MinSym0 :: TyFun a6989586621679303258 (TyFun a6989586621679303258 a6989586621679303258 -> Type) -> *) (l :: a6989586621679303258) = MinSym1 l

data MinSym1 (l :: a6989586621679303258) (l :: TyFun a6989586621679303258 a6989586621679303258) Source #

Instances
SuppressUnusedWarnings (MinSym1 :: a6989586621679303258 -> TyFun a6989586621679303258 a6989586621679303258 -> *) Source # 
Instance details
type Apply (MinSym1 l1 :: TyFun a a -> *) (l2 :: a) Source # 
Instance details
type Apply (MinSym1 l1 :: TyFun a a -> *) (l2 :: a) = Min l1 l2

type MinSym2 (t :: a6989586621679303258) (t :: a6989586621679303258) = Min t t Source #

data ComparingSym0 (l :: TyFun (TyFun b6989586621679303248 a6989586621679303247 -> Type) (TyFun b6989586621679303248 (TyFun b6989586621679303248 Ordering -> Type) -> Type)) Source #

Instances
SuppressUnusedWarnings (ComparingSym0 :: TyFun (TyFun b6989586621679303248 a6989586621679303247 -> Type) (TyFun b6989586621679303248 (TyFun b6989586621679303248 Ordering -> Type) -> Type) -> *) Source # 
Instance details
type Apply (ComparingSym0 :: TyFun (TyFun b6989586621679303248 a6989586621679303247 -> Type) (TyFun b6989586621679303248 (TyFun b6989586621679303248 Ordering -> Type) -> Type) -> *) (l :: TyFun b6989586621679303248 a6989586621679303247 -> Type) Source # 
Instance details
type Apply (ComparingSym0 :: TyFun (TyFun b6989586621679303248 a6989586621679303247 -> Type) (TyFun b6989586621679303248 (TyFun b6989586621679303248 Ordering -> Type) -> Type) -> *) (l :: TyFun b6989586621679303248 a6989586621679303247 -> Type) = ComparingSym1 l

data ComparingSym1 (l :: TyFun b6989586621679303248 a6989586621679303247 -> Type) (l :: TyFun b6989586621679303248 (TyFun b6989586621679303248 Ordering -> Type)) Source #

Instances
SuppressUnusedWarnings (ComparingSym1 :: (TyFun b6989586621679303248 a6989586621679303247 -> Type) -> TyFun b6989586621679303248 (TyFun b6989586621679303248 Ordering -> Type) -> *) Source # 
Instance details
type Apply (ComparingSym1 l1 :: TyFun b6989586621679303248 (TyFun b6989586621679303248 Ordering -> Type) -> *) (l2 :: b6989586621679303248) Source # 
Instance details
type Apply (ComparingSym1 l1 :: TyFun b6989586621679303248 (TyFun b6989586621679303248 Ordering -> Type) -> *) (l2 :: b6989586621679303248) = ComparingSym2 l1 l2

data ComparingSym2 (l :: TyFun b6989586621679303248 a6989586621679303247 -> Type) (l :: b6989586621679303248) (l :: TyFun b6989586621679303248 Ordering) Source #

Instances
SuppressUnusedWarnings (ComparingSym2 :: (TyFun b6989586621679303248 a6989586621679303247 -> Type) -> b6989586621679303248 -> TyFun b6989586621679303248 Ordering -> *) Source # 
Instance details
type Apply (ComparingSym2 l1 l2 :: TyFun b Ordering -> *) (l3 :: b) Source # 
Instance details
type Apply (ComparingSym2 l1 l2 :: TyFun b Ordering -> *) (l3 :: b) = Comparing l1 l2 l3

type ComparingSym3 (t :: TyFun b6989586621679303248 a6989586621679303247 -> Type) (t :: b6989586621679303248) (t :: b6989586621679303248) = Comparing t t t Source #