tfp-1.0.0.2: Type-level integers, booleans, lists using type families

Safe HaskellSafe
LanguageHaskell2010

Type.Data.Ord

Documentation

type family Compare x y #

Instances
type Compare False False # 
Instance details

Defined in Type.Data.Ord

type Compare False True # 
Instance details

Defined in Type.Data.Ord

type Compare True False # 
Instance details

Defined in Type.Data.Ord

type Compare True True # 
Instance details

Defined in Type.Data.Ord

type Compare GT GT # 
Instance details

Defined in Type.Data.Ord

type Compare GT GT = EQ
type Compare GT EQ # 
Instance details

Defined in Type.Data.Ord

type Compare GT EQ = GT
type Compare GT LT # 
Instance details

Defined in Type.Data.Ord

type Compare GT LT = GT
type Compare EQ GT # 
Instance details

Defined in Type.Data.Ord

type Compare EQ GT = LT
type Compare EQ EQ # 
Instance details

Defined in Type.Data.Ord

type Compare EQ EQ = EQ
type Compare EQ LT # 
Instance details

Defined in Type.Data.Ord

type Compare EQ LT = GT
type Compare LT GT # 
Instance details

Defined in Type.Data.Ord

type Compare LT GT = LT
type Compare LT EQ # 
Instance details

Defined in Type.Data.Ord

type Compare LT EQ = LT
type Compare LT LT # 
Instance details

Defined in Type.Data.Ord

type Compare LT LT = EQ
type Compare (Dec x) (Dec y) # 
Instance details

Defined in Type.Data.Num.Decimal.Number

type Compare (Dec x) (Dec y) = Compare x y

compare :: Proxy x -> Proxy y -> Proxy (Compare x y) #

data LT #

Instances
type IsGT LT # 
Instance details

Defined in Type.Data.Ord

type IsGT LT = False
type IsEQ LT # 
Instance details

Defined in Type.Data.Ord

type IsEQ LT = False
type IsLT LT # 
Instance details

Defined in Type.Data.Ord

type IsLT LT = True
type Compare GT LT # 
Instance details

Defined in Type.Data.Ord

type Compare GT LT = GT
type Compare EQ LT # 
Instance details

Defined in Type.Data.Ord

type Compare EQ LT = GT
type Compare LT GT # 
Instance details

Defined in Type.Data.Ord

type Compare LT GT = LT
type Compare LT EQ # 
Instance details

Defined in Type.Data.Ord

type Compare LT EQ = LT
type Compare LT LT # 
Instance details

Defined in Type.Data.Ord

type Compare LT LT = EQ

data EQ #

Instances
type IsGT EQ # 
Instance details

Defined in Type.Data.Ord

type IsGT EQ = False
type IsEQ EQ # 
Instance details

Defined in Type.Data.Ord

type IsEQ EQ = True
type IsLT EQ # 
Instance details

Defined in Type.Data.Ord

type IsLT EQ = False
type Compare GT EQ # 
Instance details

Defined in Type.Data.Ord

type Compare GT EQ = GT
type Compare EQ GT # 
Instance details

Defined in Type.Data.Ord

type Compare EQ GT = LT
type Compare EQ EQ # 
Instance details

Defined in Type.Data.Ord

type Compare EQ EQ = EQ
type Compare EQ LT # 
Instance details

Defined in Type.Data.Ord

type Compare EQ LT = GT
type Compare LT EQ # 
Instance details

Defined in Type.Data.Ord

type Compare LT EQ = LT

data GT #

Instances
type IsGT GT # 
Instance details

Defined in Type.Data.Ord

type IsGT GT = True
type IsEQ GT # 
Instance details

Defined in Type.Data.Ord

type IsEQ GT = False
type IsLT GT # 
Instance details

Defined in Type.Data.Ord

type IsLT GT = False
type Compare GT GT # 
Instance details

Defined in Type.Data.Ord

type Compare GT GT = EQ
type Compare GT EQ # 
Instance details

Defined in Type.Data.Ord

type Compare GT EQ = GT
type Compare GT LT # 
Instance details

Defined in Type.Data.Ord

type Compare GT LT = GT
type Compare EQ GT # 
Instance details

Defined in Type.Data.Ord

type Compare EQ GT = LT
type Compare LT GT # 
Instance details

Defined in Type.Data.Ord

type Compare LT GT = LT

type family IsLT c #

Instances
type IsLT GT # 
Instance details

Defined in Type.Data.Ord

type IsLT GT = False
type IsLT EQ # 
Instance details

Defined in Type.Data.Ord

type IsLT EQ = False
type IsLT LT # 
Instance details

Defined in Type.Data.Ord

type IsLT LT = True

isLT :: Proxy c -> Proxy (IsLT c) #

type family IsEQ c #

Instances
type IsEQ GT # 
Instance details

Defined in Type.Data.Ord

type IsEQ GT = False
type IsEQ EQ # 
Instance details

Defined in Type.Data.Ord

type IsEQ EQ = True
type IsEQ LT # 
Instance details

Defined in Type.Data.Ord

type IsEQ LT = False

isEQ :: Proxy c -> Proxy (IsEQ c) #

type family IsGT c #

Instances
type IsGT GT # 
Instance details

Defined in Type.Data.Ord

type IsGT GT = True
type IsGT EQ # 
Instance details

Defined in Type.Data.Ord

type IsGT EQ = False
type IsGT LT # 
Instance details

Defined in Type.Data.Ord

type IsGT LT = False

isGT :: Proxy c -> Proxy (IsGT c) #

class x :<: y #

lt :: Proxy x -> Proxy y -> Proxy (LTT x y) #

type family LTT x y #

Instances
type LTT x y # 
Instance details

Defined in Type.Data.Ord

type LTT x y = IsLT (Compare x y)

class x :<=: y #

le :: Proxy x -> Proxy y -> Proxy (LET x y) #

type family LET x y #

Instances
type LET x y # 
Instance details

Defined in Type.Data.Ord

type LET x y = Not (GTT x y)

class x :==: y #

eq :: Proxy x -> Proxy y -> Proxy (EQT x y) #

type family EQT x y #

Instances
type EQT x y # 
Instance details

Defined in Type.Data.Ord

type EQT x y = IsEQ (Compare x y)

class x :/=: y #

ne :: Proxy x -> Proxy y -> Proxy (NET x y) #

type family NET x y #

Instances
type NET x y # 
Instance details

Defined in Type.Data.Ord

type NET x y = Not (EQT x y)

class x :>=: y #

ge :: Proxy x -> Proxy y -> Proxy (GET x y) #

type family GET x y #

Instances
type GET x y # 
Instance details

Defined in Type.Data.Ord

type GET x y = Not (LTT x y)

class x :>: y #

gt :: Proxy x -> Proxy y -> Proxy (GTT x y) #

type family GTT x y #

Instances
type GTT x y # 
Instance details

Defined in Type.Data.Ord

type GTT x y = IsGT (Compare x y)

type family Min x y #

Instances
type Min x y # 
Instance details

Defined in Type.Data.Ord

type Min x y = If (LET x y) x y

min :: Proxy x -> Proxy y -> Proxy (Min x y) #

type family Max x y #

Instances
type Max x y # 
Instance details

Defined in Type.Data.Ord

type Max x y = If (GET x y) x y

max :: Proxy x -> Proxy y -> Proxy (Max x y) #