singletons-2.5.1: A framework for generating singleton types

Copyright(C) 2013 Richard Eisenberg
LicenseBSD-style (see LICENSE)
MaintainerRyan Scott
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) #

Associated Types

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

type (arg :: a) < (arg :: a) :: Bool infix 4 #

type (arg :: a) <= (arg :: a) :: Bool infix 4 #

type (arg :: a) > (arg :: a) :: Bool infix 4 #

type (arg :: a) >= (arg :: a) :: Bool infix 4 #

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

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

Instances
POrd Bool # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Associated Types

type Compare arg arg :: Ordering #

type arg < arg :: Bool #

type arg <= arg :: Bool #

type arg > arg :: Bool #

type arg >= arg :: Bool #

type Max arg arg :: a #

type Min arg arg :: a #

POrd Ordering # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Associated Types

type Compare arg arg :: Ordering #

type arg < arg :: Bool #

type arg <= arg :: Bool #

type arg > arg :: Bool #

type arg >= arg :: Bool #

type Max arg arg :: a #

type Min arg arg :: a #

POrd Nat # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

Associated Types

type Compare arg arg :: Ordering #

type arg < arg :: Bool #

type arg <= arg :: Bool #

type arg > arg :: Bool #

type arg >= arg :: Bool #

type Max arg arg :: a #

type Min arg arg :: a #

POrd Symbol # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

Associated Types

type Compare arg arg :: Ordering #

type arg < arg :: Bool #

type arg <= arg :: Bool #

type arg > arg :: Bool #

type arg >= arg :: Bool #

type Max arg arg :: a #

type Min arg arg :: a #

POrd () # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Associated Types

type Compare arg arg :: Ordering #

type arg < arg :: Bool #

type arg <= arg :: Bool #

type arg > arg :: Bool #

type arg >= arg :: Bool #

type Max arg arg :: a #

type Min arg arg :: a #

POrd Void # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Associated Types

type Compare arg arg :: Ordering #

type arg < arg :: Bool #

type arg <= arg :: Bool #

type arg > arg :: Bool #

type arg >= arg :: Bool #

type Max arg arg :: a #

type Min arg arg :: a #

POrd All # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type Compare arg arg :: Ordering #

type arg < arg :: Bool #

type arg <= arg :: Bool #

type arg > arg :: Bool #

type arg >= arg :: Bool #

type Max arg arg :: a #

type Min arg arg :: a #

POrd Any # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type Compare arg arg :: Ordering #

type arg < arg :: Bool #

type arg <= arg :: Bool #

type arg > arg :: Bool #

type arg >= arg :: Bool #

type Max arg arg :: a #

type Min arg arg :: a #

POrd [a] # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Associated Types

type Compare arg arg :: Ordering #

type arg < arg :: Bool #

type arg <= arg :: Bool #

type arg > arg :: Bool #

type arg >= arg :: Bool #

type Max arg arg :: a #

type Min arg arg :: a #

POrd (Maybe a) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Associated Types

type Compare arg arg :: Ordering #

type arg < arg :: Bool #

type arg <= arg :: Bool #

type arg > arg :: Bool #

type arg >= arg :: Bool #

type Max arg arg :: a #

type Min arg arg :: a #

POrd (Min a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type Compare arg arg :: Ordering #

type arg < arg :: Bool #

type arg <= arg :: Bool #

type arg > arg :: Bool #

type arg >= arg :: Bool #

type Max arg arg :: a #

type Min arg arg :: a #

POrd (Max a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type Compare arg arg :: Ordering #

type arg < arg :: Bool #

type arg <= arg :: Bool #

type arg > arg :: Bool #

type arg >= arg :: Bool #

type Max arg arg :: a #

type Min arg arg :: a #

POrd (First a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type Compare arg arg :: Ordering #

type arg < arg :: Bool #

type arg <= arg :: Bool #

type arg > arg :: Bool #

type arg >= arg :: Bool #

type Max arg arg :: a #

type Min arg arg :: a #

POrd (Last a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type Compare arg arg :: Ordering #

type arg < arg :: Bool #

type arg <= arg :: Bool #

type arg > arg :: Bool #

type arg >= arg :: Bool #

type Max arg arg :: a #

type Min arg arg :: a #

POrd (WrappedMonoid m) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type Compare arg arg :: Ordering #

type arg < arg :: Bool #

type arg <= arg :: Bool #

type arg > arg :: Bool #

type arg >= arg :: Bool #

type Max arg arg :: a #

type Min arg arg :: a #

POrd (Option a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type Compare arg arg :: Ordering #

type arg < arg :: Bool #

type arg <= arg :: Bool #

type arg > arg :: Bool #

type arg >= arg :: Bool #

type Max arg arg :: a #

type Min arg arg :: a #

POrd (Identity a) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Associated Types

type Compare arg arg :: Ordering #

type arg < arg :: Bool #

type arg <= arg :: Bool #

type arg > arg :: Bool #

type arg >= arg :: Bool #

type Max arg arg :: a #

type Min arg arg :: a #

POrd (First a) # 
Instance details

Defined in Data.Singletons.Prelude.Monoid

Associated Types

type Compare arg arg :: Ordering #

type arg < arg :: Bool #

type arg <= arg :: Bool #

type arg > arg :: Bool #

type arg >= arg :: Bool #

type Max arg arg :: a #

type Min arg arg :: a #

POrd (Last a) # 
Instance details

Defined in Data.Singletons.Prelude.Monoid

Associated Types

type Compare arg arg :: Ordering #

type arg < arg :: Bool #

type arg <= arg :: Bool #

type arg > arg :: Bool #

type arg >= arg :: Bool #

type Max arg arg :: a #

type Min arg arg :: a #

POrd (Dual a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type Compare arg arg :: Ordering #

type arg < arg :: Bool #

type arg <= arg :: Bool #

type arg > arg :: Bool #

type arg >= arg :: Bool #

type Max arg arg :: a #

type Min arg arg :: a #

POrd (Sum a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type Compare arg arg :: Ordering #

type arg < arg :: Bool #

type arg <= arg :: Bool #

type arg > arg :: Bool #

type arg >= arg :: Bool #

type Max arg arg :: a #

type Min arg arg :: a #

POrd (Product a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type Compare arg arg :: Ordering #

type arg < arg :: Bool #

type arg <= arg :: Bool #

type arg > arg :: Bool #

type arg >= arg :: Bool #

type Max arg arg :: a #

type Min arg arg :: a #

POrd (Down a) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Associated Types

type Compare arg arg :: Ordering #

type arg < arg :: Bool #

type arg <= arg :: Bool #

type arg > arg :: Bool #

type arg >= arg :: Bool #

type Max arg arg :: a #

type Min arg arg :: a #

POrd (NonEmpty a) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Associated Types

type Compare arg arg :: Ordering #

type arg < arg :: Bool #

type arg <= arg :: Bool #

type arg > arg :: Bool #

type arg >= arg :: Bool #

type Max arg arg :: a #

type Min arg arg :: a #

POrd (Either a b) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Associated Types

type Compare arg arg :: Ordering #

type arg < arg :: Bool #

type arg <= arg :: Bool #

type arg > arg :: Bool #

type arg >= arg :: Bool #

type Max arg arg :: a #

type Min arg arg :: a #

POrd (a, b) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Associated Types

type Compare arg arg :: Ordering #

type arg < arg :: Bool #

type arg <= arg :: Bool #

type arg > arg :: Bool #

type arg >= arg :: Bool #

type Max arg arg :: a #

type Min arg arg :: a #

POrd (Arg a b) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type Compare arg arg :: Ordering #

type arg < arg :: Bool #

type arg <= arg :: Bool #

type arg > arg :: Bool #

type arg >= arg :: Bool #

type Max arg arg :: a #

type Min arg arg :: a #

POrd (a, b, c) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Associated Types

type Compare arg arg :: Ordering #

type arg < arg :: Bool #

type arg <= arg :: Bool #

type arg > arg :: Bool #

type arg >= arg :: Bool #

type Max arg arg :: a #

type Min arg arg :: a #

POrd (Const a b) # 
Instance details

Defined in Data.Singletons.Prelude.Const

Associated Types

type Compare arg arg :: Ordering #

type arg < arg :: Bool #

type arg <= arg :: Bool #

type arg > arg :: Bool #

type arg >= arg :: Bool #

type Max arg arg :: a #

type Min arg arg :: a #

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

Defined in Data.Singletons.Prelude.Ord

Associated Types

type Compare arg arg :: Ordering #

type arg < arg :: Bool #

type arg <= arg :: Bool #

type arg > arg :: Bool #

type arg >= arg :: Bool #

type Max arg arg :: a #

type Min arg arg :: a #

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

Defined in Data.Singletons.Prelude.Ord

Associated Types

type Compare arg arg :: Ordering #

type arg < arg :: Bool #

type arg <= arg :: Bool #

type arg > arg :: Bool #

type arg >= arg :: Bool #

type Max arg arg :: a #

type Min arg arg :: a #

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

Defined in Data.Singletons.Prelude.Ord

Associated Types

type Compare arg arg :: Ordering #

type arg < arg :: Bool #

type arg <= arg :: Bool #

type arg > arg :: Bool #

type arg >= arg :: Bool #

type Max arg arg :: a #

type Min arg arg :: a #

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

Defined in Data.Singletons.Prelude.Ord

Associated Types

type Compare arg arg :: Ordering #

type arg < arg :: Bool #

type arg <= arg :: Bool #

type arg > arg :: Bool #

type arg >= arg :: Bool #

type Max arg arg :: a #

type Min arg arg :: a #

class SEq a => SOrd a where #

Minimal complete definition

Nothing

Methods

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Instances
SOrd Bool # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

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

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

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

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

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

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

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

SOrd Ordering # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

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

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

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

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

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

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

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

SOrd Nat # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

Methods

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

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

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

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

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

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

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

SOrd Symbol # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

Methods

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

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

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

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

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

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

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

SOrd () # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

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

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

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

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

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

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

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

SOrd Void # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

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

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

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

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

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

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

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

SOrd Bool => SOrd All # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

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

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

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

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

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

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

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

SOrd Bool => SOrd Any # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

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

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

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

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

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

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

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

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

Defined in Data.Singletons.Prelude.Ord

Methods

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

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

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

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

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

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

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

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

Defined in Data.Singletons.Prelude.Ord

Methods

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

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

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

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

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

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

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

SOrd a => SOrd (Min a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

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

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

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

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

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

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

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

SOrd a => SOrd (Max a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

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

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

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

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

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

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

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

SOrd a => SOrd (First a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

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

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

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

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

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

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

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

SOrd a => SOrd (Last a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

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

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

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

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

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

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

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

SOrd m => SOrd (WrappedMonoid m) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

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

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

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

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

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

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

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

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

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

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

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

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

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

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

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

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

SOrd a => SOrd (Identity a) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

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

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

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

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

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

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

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

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

Defined in Data.Singletons.Prelude.Monoid

Methods

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

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

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

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

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

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

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

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

Defined in Data.Singletons.Prelude.Monoid

Methods

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

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

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

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

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

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

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

SOrd a => SOrd (Dual a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

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

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

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

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

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

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

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

SOrd a => SOrd (Sum a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

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

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

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

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

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

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

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

SOrd a => SOrd (Product a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Methods

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

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

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

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

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

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

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

SOrd a => SOrd (Down a) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

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

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

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

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

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

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

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

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

Defined in Data.Singletons.Prelude.Ord

Methods

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

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

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

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

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

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

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

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

Defined in Data.Singletons.Prelude.Ord

Methods

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

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

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

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

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

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

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

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

Defined in Data.Singletons.Prelude.Ord

Methods

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

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

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

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

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

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

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

SOrd a => SOrd (Arg a b) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

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

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

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

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

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

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

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

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

Defined in Data.Singletons.Prelude.Ord

Methods

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

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

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

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

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

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

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

SOrd a => SOrd (Const a b) # 
Instance details

Defined in Data.Singletons.Prelude.Const

Methods

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

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

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

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

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

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

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

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

Defined in Data.Singletons.Prelude.Ord

Methods

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

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

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

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

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

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

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

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

Defined in Data.Singletons.Prelude.Ord

Methods

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

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

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

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

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

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

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

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

Defined in Data.Singletons.Prelude.Ord

Methods

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

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

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

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

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

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

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

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

Defined in Data.Singletons.Prelude.Ord

Methods

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

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

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

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

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

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

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

type family Comparing (a :: (~>) b a) (a :: b) (a :: b) :: Ordering where ... #

Equations

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

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

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 ... #

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) #

data family Sing :: k -> Type #

The singleton kind-indexed data family.

Instances
SDecide k => TestCoercion (Sing :: k -> Type) # 
Instance details

Defined in Data.Singletons.Decide

Methods

testCoercion :: Sing a -> Sing b -> Maybe (Coercion a b) #

SDecide k => TestEquality (Sing :: k -> Type) # 
Instance details

Defined in Data.Singletons.Decide

Methods

testEquality :: Sing a -> Sing b -> Maybe (a :~: b) #

Show (SSymbol s) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> SSymbol s -> ShowS #

show :: SSymbol s -> String #

showList :: [SSymbol s] -> ShowS #

Show (SNat n) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> SNat n -> ShowS #

show :: SNat n -> String #

showList :: [SNat n] -> ShowS #

Eq (Sing a) # 
Instance details

Defined in Data.Singletons.TypeRepTYPE

Methods

(==) :: Sing a -> Sing a -> Bool #

(/=) :: Sing a -> Sing a -> Bool #

Ord (Sing a) # 
Instance details

Defined in Data.Singletons.TypeRepTYPE

Methods

compare :: Sing a -> Sing a -> Ordering #

(<) :: Sing a -> Sing a -> Bool #

(<=) :: Sing a -> Sing a -> Bool #

(>) :: Sing a -> Sing a -> Bool #

(>=) :: Sing a -> Sing a -> Bool #

max :: Sing a -> Sing a -> Sing a #

min :: Sing a -> Sing a -> Sing a #

Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

(ShowSing a, ShowSing [a]) => Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing a => Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

(ShowSing a, ShowSing b) => Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

Show (Sing a) # 
Instance details

Defined in Data.Singletons.TypeRepTYPE

Methods

showsPrec :: Int -> Sing a -> ShowS #

show :: Sing a -> String #

showList :: [Sing a] -> ShowS #

Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

(ShowSing a, ShowSing b) => Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

(ShowSing a, ShowSing b, ShowSing c) => Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

(ShowSing a, ShowSing b, ShowSing c, ShowSing d) => Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

(ShowSing a, ShowSing b, ShowSing c, ShowSing d, ShowSing e) => Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

(ShowSing a, ShowSing b, ShowSing c, ShowSing d, ShowSing e, ShowSing f) => Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

(ShowSing a, ShowSing b, ShowSing c, ShowSing d, ShowSing e, ShowSing f, ShowSing g) => Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing a => Show (Sing z) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing a => Show (Sing z) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

(ShowSing a, ShowSing b) => Show (Sing z) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing a => Show (Sing z) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing a => Show (Sing z) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing m => Show (Sing z) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing (Maybe a) => Show (Sing z) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing a => Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing (Maybe a) => Show (Sing z) # 
Instance details

Defined in Data.Singletons.Prelude.Monoid

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing (Maybe a) => Show (Sing z) # 
Instance details

Defined in Data.Singletons.Prelude.Monoid

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing a => Show (Sing z) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing Bool => Show (Sing z) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing Bool => Show (Sing z) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing a => Show (Sing z) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing a => Show (Sing z) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

(ShowSing a, ShowSing [a]) => Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> Sing z -> ShowS #

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

data Sing (a :: Bool) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (a :: Bool) where
data Sing (a :: Ordering) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (a :: Ordering) where
data Sing (n :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

data Sing (n :: Nat) where
data Sing (n :: Symbol) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

data Sing (n :: Symbol) where
data Sing (a :: ()) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (a :: ()) where
data Sing (a :: Void) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (a :: Void)
data Sing (a :: All) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

data Sing (a :: All) where
data Sing (a :: Any) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

data Sing (a :: Any) where
data Sing (a :: PErrorMessage) # 
Instance details

Defined in Data.Singletons.TypeError

data Sing (a :: PErrorMessage) where
data Sing (b :: [a]) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (b :: [a]) where
  • SNil :: forall k (b :: [k]). Sing ([] :: [k])
  • SCons :: forall a (b :: [a]) (n :: a) (n :: [a]). Sing n -> Sing n -> Sing (n ': n)
data Sing (b :: Maybe a) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (b :: Maybe a) where
newtype Sing (a :: TYPE rep) #

A choice of singleton for the kind TYPE rep (for some RuntimeRep rep), an instantiation of which is the famous kind Type.

Conceivably, one could generalize this instance to `Sing :: k -> Type` for any kind k, and remove all other Sing instances. We don't adopt this design, however, since it is far more convenient in practice to work with explicit singleton values than TypeReps (for instance, TypeReps are more difficult to pattern match on, and require extra runtime checks).

We cannot produce explicit singleton values for everything in TYPE rep, however, since it is an open kind, so we reach for TypeRep in this one particular case.

Instance details

Defined in Data.Singletons.TypeRepTYPE

newtype Sing (a :: TYPE rep) = STypeRep (TypeRep a)
data Sing (b :: Min a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

data Sing (b :: Min a) where
data Sing (b :: Max a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

data Sing (b :: Max a) where
data Sing (b :: First a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

data Sing (b :: First a) where
data Sing (b :: Last a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

data Sing (b :: Last a) where
data Sing (a :: WrappedMonoid m) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

data Sing (a :: WrappedMonoid m) where
data Sing (b :: Option a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

data Sing (b :: Option a) where
data Sing (b :: Identity a) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (b :: Identity a) where
data Sing (b :: First a) # 
Instance details

Defined in Data.Singletons.Prelude.Monoid

data Sing (b :: First a) where
data Sing (b :: Last a) # 
Instance details

Defined in Data.Singletons.Prelude.Monoid

data Sing (b :: Last a) where
data Sing (b :: Dual a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

data Sing (b :: Dual a) where
data Sing (b :: Sum a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

data Sing (b :: Sum a) where
data Sing (b :: Product a) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

data Sing (b :: Product a) where
data Sing (b :: Down a) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

data Sing (b :: Down a) where
data Sing (b :: NonEmpty a) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (b :: NonEmpty a) where
data Sing (c :: Either a b) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (c :: Either a b) where
data Sing (c :: (a, b)) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (c :: (a, b)) where
data Sing (c :: Arg a b) # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

data Sing (c :: Arg a b) where
newtype Sing (f :: k1 ~> k2) # 
Instance details

Defined in Data.Singletons.Internal

newtype Sing (f :: k1 ~> k2) = SLambda {}
data Sing (d :: (a, b, c)) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (d :: (a, b, c)) where
data Sing (c :: Const a b) # 
Instance details

Defined in Data.Singletons.Prelude.Const

data Sing (c :: Const a b) where
data Sing (e :: (a, b, c, d)) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (e :: (a, b, c, d)) where
data Sing (f :: (a, b, c, d, e)) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (f :: (a, b, c, d, e)) where
data Sing (g :: (a, b, c, d, e, f)) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (g :: (a, b, c, d, e, f)) where
data Sing (h :: (a, b, c, d, e, f, g)) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (h :: (a, b, c, d, e, f, g)) where

type SOrdering = (Sing :: Ordering -> Type) #

type SDown = (Sing :: Down a -> Type) #

Defunctionalization symbols

data ThenCmpSym0 :: (~>) Ordering ((~>) Ordering Ordering) #

Instances
SingI ThenCmpSym0 # 
Instance details

Defined in Data.Singletons.Prelude.Ord

SuppressUnusedWarnings ThenCmpSym0 # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply ThenCmpSym0 (a6989586621679406525 :: Ordering) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply ThenCmpSym0 (a6989586621679406525 :: Ordering) = ThenCmpSym1 a6989586621679406525

data ThenCmpSym1 (a6989586621679406525 :: Ordering) :: (~>) Ordering Ordering #

Instances
SingI d => SingI (ThenCmpSym1 d :: TyFun Ordering Ordering -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

sing :: Sing (ThenCmpSym1 d) #

SuppressUnusedWarnings (ThenCmpSym1 a6989586621679406525 :: TyFun Ordering Ordering -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply (ThenCmpSym1 a6989586621679406525 :: TyFun Ordering Ordering -> Type) (a6989586621679406526 :: Ordering) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply (ThenCmpSym1 a6989586621679406525 :: TyFun Ordering Ordering -> Type) (a6989586621679406526 :: Ordering) = ThenCmp a6989586621679406525 a6989586621679406526

type ThenCmpSym2 (a6989586621679406525 :: Ordering) (a6989586621679406526 :: Ordering) = ThenCmp a6989586621679406525 a6989586621679406526 #

type LTSym0 = LT #

type EQSym0 = EQ #

type GTSym0 = GT #

data CompareSym0 :: forall a6989586621679396020. (~>) a6989586621679396020 ((~>) a6989586621679396020 Ordering) #

Instances
SOrd a => SingI (CompareSym0 :: TyFun a (a ~> Ordering) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

SuppressUnusedWarnings (CompareSym0 :: TyFun a6989586621679396020 (a6989586621679396020 ~> Ordering) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply (CompareSym0 :: TyFun a6989586621679396020 (a6989586621679396020 ~> Ordering) -> Type) (arg6989586621679396114 :: a6989586621679396020) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply (CompareSym0 :: TyFun a6989586621679396020 (a6989586621679396020 ~> Ordering) -> Type) (arg6989586621679396114 :: a6989586621679396020) = CompareSym1 arg6989586621679396114

data CompareSym1 (arg6989586621679396114 :: a6989586621679396020) :: (~>) a6989586621679396020 Ordering #

Instances
(SOrd a, SingI d) => SingI (CompareSym1 d :: TyFun a Ordering -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

sing :: Sing (CompareSym1 d) #

SuppressUnusedWarnings (CompareSym1 arg6989586621679396114 :: TyFun a6989586621679396020 Ordering -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply (CompareSym1 arg6989586621679396114 :: TyFun a Ordering -> Type) (arg6989586621679396115 :: a) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply (CompareSym1 arg6989586621679396114 :: TyFun a Ordering -> Type) (arg6989586621679396115 :: a) = Compare arg6989586621679396114 arg6989586621679396115

type CompareSym2 (arg6989586621679396114 :: a6989586621679396020) (arg6989586621679396115 :: a6989586621679396020) = Compare arg6989586621679396114 arg6989586621679396115 #

data (<@#@$) :: forall a6989586621679396020. (~>) a6989586621679396020 ((~>) a6989586621679396020 Bool) infix 4 #

Instances
SOrd a => SingI ((<@#@$) :: TyFun a (a ~> Bool) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

sing :: Sing (<@#@$) #

SuppressUnusedWarnings ((<@#@$) :: TyFun a6989586621679396020 (a6989586621679396020 ~> Bool) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply ((<@#@$) :: TyFun a6989586621679396020 (a6989586621679396020 ~> Bool) -> Type) (arg6989586621679396118 :: a6989586621679396020) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply ((<@#@$) :: TyFun a6989586621679396020 (a6989586621679396020 ~> Bool) -> Type) (arg6989586621679396118 :: a6989586621679396020) = (<@#@$$) arg6989586621679396118

data (<@#@$$) (arg6989586621679396118 :: a6989586621679396020) :: (~>) a6989586621679396020 Bool infix 4 #

Instances
(SOrd a, SingI d) => SingI ((<@#@$$) d :: TyFun a Bool -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

sing :: Sing ((<@#@$$) d) #

SuppressUnusedWarnings ((<@#@$$) arg6989586621679396118 :: TyFun a6989586621679396020 Bool -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply ((<@#@$$) arg6989586621679396118 :: TyFun a Bool -> Type) (arg6989586621679396119 :: a) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply ((<@#@$$) arg6989586621679396118 :: TyFun a Bool -> Type) (arg6989586621679396119 :: a) = arg6989586621679396118 < arg6989586621679396119

type (<@#@$$$) (arg6989586621679396118 :: a6989586621679396020) (arg6989586621679396119 :: a6989586621679396020) = (<) arg6989586621679396118 arg6989586621679396119 #

data (<=@#@$) :: forall a6989586621679396020. (~>) a6989586621679396020 ((~>) a6989586621679396020 Bool) infix 4 #

Instances
SOrd a => SingI ((<=@#@$) :: TyFun a (a ~> Bool) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

sing :: Sing (<=@#@$) #

SuppressUnusedWarnings ((<=@#@$) :: TyFun a6989586621679396020 (a6989586621679396020 ~> Bool) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply ((<=@#@$) :: TyFun a6989586621679396020 (a6989586621679396020 ~> Bool) -> Type) (arg6989586621679396122 :: a6989586621679396020) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply ((<=@#@$) :: TyFun a6989586621679396020 (a6989586621679396020 ~> Bool) -> Type) (arg6989586621679396122 :: a6989586621679396020) = (<=@#@$$) arg6989586621679396122

data (<=@#@$$) (arg6989586621679396122 :: a6989586621679396020) :: (~>) a6989586621679396020 Bool infix 4 #

Instances
(SOrd a, SingI d) => SingI ((<=@#@$$) d :: TyFun a Bool -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

sing :: Sing ((<=@#@$$) d) #

SuppressUnusedWarnings ((<=@#@$$) arg6989586621679396122 :: TyFun a6989586621679396020 Bool -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply ((<=@#@$$) arg6989586621679396122 :: TyFun a Bool -> Type) (arg6989586621679396123 :: a) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply ((<=@#@$$) arg6989586621679396122 :: TyFun a Bool -> Type) (arg6989586621679396123 :: a) = arg6989586621679396122 <= arg6989586621679396123

type (<=@#@$$$) (arg6989586621679396122 :: a6989586621679396020) (arg6989586621679396123 :: a6989586621679396020) = (<=) arg6989586621679396122 arg6989586621679396123 #

data (>@#@$) :: forall a6989586621679396020. (~>) a6989586621679396020 ((~>) a6989586621679396020 Bool) infix 4 #

Instances
SOrd a => SingI ((>@#@$) :: TyFun a (a ~> Bool) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

sing :: Sing (>@#@$) #

SuppressUnusedWarnings ((>@#@$) :: TyFun a6989586621679396020 (a6989586621679396020 ~> Bool) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply ((>@#@$) :: TyFun a6989586621679396020 (a6989586621679396020 ~> Bool) -> Type) (arg6989586621679396126 :: a6989586621679396020) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply ((>@#@$) :: TyFun a6989586621679396020 (a6989586621679396020 ~> Bool) -> Type) (arg6989586621679396126 :: a6989586621679396020) = (>@#@$$) arg6989586621679396126

data (>@#@$$) (arg6989586621679396126 :: a6989586621679396020) :: (~>) a6989586621679396020 Bool infix 4 #

Instances
(SOrd a, SingI d) => SingI ((>@#@$$) d :: TyFun a Bool -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

sing :: Sing ((>@#@$$) d) #

SuppressUnusedWarnings ((>@#@$$) arg6989586621679396126 :: TyFun a6989586621679396020 Bool -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply ((>@#@$$) arg6989586621679396126 :: TyFun a Bool -> Type) (arg6989586621679396127 :: a) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply ((>@#@$$) arg6989586621679396126 :: TyFun a Bool -> Type) (arg6989586621679396127 :: a) = arg6989586621679396126 > arg6989586621679396127

type (>@#@$$$) (arg6989586621679396126 :: a6989586621679396020) (arg6989586621679396127 :: a6989586621679396020) = (>) arg6989586621679396126 arg6989586621679396127 #

data (>=@#@$) :: forall a6989586621679396020. (~>) a6989586621679396020 ((~>) a6989586621679396020 Bool) infix 4 #

Instances
SOrd a => SingI ((>=@#@$) :: TyFun a (a ~> Bool) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

sing :: Sing (>=@#@$) #

SuppressUnusedWarnings ((>=@#@$) :: TyFun a6989586621679396020 (a6989586621679396020 ~> Bool) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply ((>=@#@$) :: TyFun a6989586621679396020 (a6989586621679396020 ~> Bool) -> Type) (arg6989586621679396130 :: a6989586621679396020) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply ((>=@#@$) :: TyFun a6989586621679396020 (a6989586621679396020 ~> Bool) -> Type) (arg6989586621679396130 :: a6989586621679396020) = (>=@#@$$) arg6989586621679396130

data (>=@#@$$) (arg6989586621679396130 :: a6989586621679396020) :: (~>) a6989586621679396020 Bool infix 4 #

Instances
(SOrd a, SingI d) => SingI ((>=@#@$$) d :: TyFun a Bool -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

sing :: Sing ((>=@#@$$) d) #

SuppressUnusedWarnings ((>=@#@$$) arg6989586621679396130 :: TyFun a6989586621679396020 Bool -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply ((>=@#@$$) arg6989586621679396130 :: TyFun a Bool -> Type) (arg6989586621679396131 :: a) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply ((>=@#@$$) arg6989586621679396130 :: TyFun a Bool -> Type) (arg6989586621679396131 :: a) = arg6989586621679396130 >= arg6989586621679396131

type (>=@#@$$$) (arg6989586621679396130 :: a6989586621679396020) (arg6989586621679396131 :: a6989586621679396020) = (>=) arg6989586621679396130 arg6989586621679396131 #

data MaxSym0 :: forall a6989586621679396020. (~>) a6989586621679396020 ((~>) a6989586621679396020 a6989586621679396020) #

Instances
SOrd a => SingI (MaxSym0 :: TyFun a (a ~> a) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

sing :: Sing MaxSym0 #

SuppressUnusedWarnings (MaxSym0 :: TyFun a6989586621679396020 (a6989586621679396020 ~> a6989586621679396020) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply (MaxSym0 :: TyFun a6989586621679396020 (a6989586621679396020 ~> a6989586621679396020) -> Type) (arg6989586621679396134 :: a6989586621679396020) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply (MaxSym0 :: TyFun a6989586621679396020 (a6989586621679396020 ~> a6989586621679396020) -> Type) (arg6989586621679396134 :: a6989586621679396020) = MaxSym1 arg6989586621679396134

data MaxSym1 (arg6989586621679396134 :: a6989586621679396020) :: (~>) a6989586621679396020 a6989586621679396020 #

Instances
(SOrd a, SingI d) => SingI (MaxSym1 d :: TyFun a a -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

sing :: Sing (MaxSym1 d) #

SuppressUnusedWarnings (MaxSym1 arg6989586621679396134 :: TyFun a6989586621679396020 a6989586621679396020 -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply (MaxSym1 arg6989586621679396134 :: TyFun a a -> Type) (arg6989586621679396135 :: a) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply (MaxSym1 arg6989586621679396134 :: TyFun a a -> Type) (arg6989586621679396135 :: a) = Max arg6989586621679396134 arg6989586621679396135

type MaxSym2 (arg6989586621679396134 :: a6989586621679396020) (arg6989586621679396135 :: a6989586621679396020) = Max arg6989586621679396134 arg6989586621679396135 #

data MinSym0 :: forall a6989586621679396020. (~>) a6989586621679396020 ((~>) a6989586621679396020 a6989586621679396020) #

Instances
SOrd a => SingI (MinSym0 :: TyFun a (a ~> a) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

sing :: Sing MinSym0 #

SuppressUnusedWarnings (MinSym0 :: TyFun a6989586621679396020 (a6989586621679396020 ~> a6989586621679396020) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply (MinSym0 :: TyFun a6989586621679396020 (a6989586621679396020 ~> a6989586621679396020) -> Type) (arg6989586621679396138 :: a6989586621679396020) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply (MinSym0 :: TyFun a6989586621679396020 (a6989586621679396020 ~> a6989586621679396020) -> Type) (arg6989586621679396138 :: a6989586621679396020) = MinSym1 arg6989586621679396138

data MinSym1 (arg6989586621679396138 :: a6989586621679396020) :: (~>) a6989586621679396020 a6989586621679396020 #

Instances
(SOrd a, SingI d) => SingI (MinSym1 d :: TyFun a a -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

sing :: Sing (MinSym1 d) #

SuppressUnusedWarnings (MinSym1 arg6989586621679396138 :: TyFun a6989586621679396020 a6989586621679396020 -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply (MinSym1 arg6989586621679396138 :: TyFun a a -> Type) (arg6989586621679396139 :: a) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply (MinSym1 arg6989586621679396138 :: TyFun a a -> Type) (arg6989586621679396139 :: a) = Min arg6989586621679396138 arg6989586621679396139

type MinSym2 (arg6989586621679396138 :: a6989586621679396020) (arg6989586621679396139 :: a6989586621679396020) = Min arg6989586621679396138 arg6989586621679396139 #

data ComparingSym0 :: forall a6989586621679396009 b6989586621679396010. (~>) ((~>) b6989586621679396010 a6989586621679396009) ((~>) b6989586621679396010 ((~>) b6989586621679396010 Ordering)) #

Instances
SOrd a => SingI (ComparingSym0 :: TyFun (b ~> a) (b ~> (b ~> Ordering)) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

SuppressUnusedWarnings (ComparingSym0 :: TyFun (b6989586621679396010 ~> a6989586621679396009) (b6989586621679396010 ~> (b6989586621679396010 ~> Ordering)) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply (ComparingSym0 :: TyFun (b6989586621679396010 ~> a6989586621679396009) (b6989586621679396010 ~> (b6989586621679396010 ~> Ordering)) -> Type) (a6989586621679396105 :: b6989586621679396010 ~> a6989586621679396009) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply (ComparingSym0 :: TyFun (b6989586621679396010 ~> a6989586621679396009) (b6989586621679396010 ~> (b6989586621679396010 ~> Ordering)) -> Type) (a6989586621679396105 :: b6989586621679396010 ~> a6989586621679396009) = ComparingSym1 a6989586621679396105

data ComparingSym1 (a6989586621679396105 :: (~>) b6989586621679396010 a6989586621679396009) :: (~>) b6989586621679396010 ((~>) b6989586621679396010 Ordering) #

Instances
(SOrd a, SingI d) => SingI (ComparingSym1 d :: TyFun b (b ~> Ordering) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

sing :: Sing (ComparingSym1 d) #

SuppressUnusedWarnings (ComparingSym1 a6989586621679396105 :: TyFun b6989586621679396010 (b6989586621679396010 ~> Ordering) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply (ComparingSym1 a6989586621679396105 :: TyFun b6989586621679396010 (b6989586621679396010 ~> Ordering) -> Type) (a6989586621679396106 :: b6989586621679396010) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply (ComparingSym1 a6989586621679396105 :: TyFun b6989586621679396010 (b6989586621679396010 ~> Ordering) -> Type) (a6989586621679396106 :: b6989586621679396010) = ComparingSym2 a6989586621679396105 a6989586621679396106

data ComparingSym2 (a6989586621679396105 :: (~>) b6989586621679396010 a6989586621679396009) (a6989586621679396106 :: b6989586621679396010) :: (~>) b6989586621679396010 Ordering #

Instances
(SOrd a, SingI d1, SingI d2) => SingI (ComparingSym2 d1 d2 :: TyFun b Ordering -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

sing :: Sing (ComparingSym2 d1 d2) #

SuppressUnusedWarnings (ComparingSym2 a6989586621679396106 a6989586621679396105 :: TyFun b6989586621679396010 Ordering -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply (ComparingSym2 a6989586621679396106 a6989586621679396105 :: TyFun b Ordering -> Type) (a6989586621679396107 :: b) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply (ComparingSym2 a6989586621679396106 a6989586621679396105 :: TyFun b Ordering -> Type) (a6989586621679396107 :: b) = Comparing a6989586621679396106 a6989586621679396105 a6989586621679396107

type ComparingSym3 (a6989586621679396105 :: (~>) b6989586621679396010 a6989586621679396009) (a6989586621679396106 :: b6989586621679396010) (a6989586621679396107 :: b6989586621679396010) = Comparing a6989586621679396105 a6989586621679396106 a6989586621679396107 #

data DownSym0 :: forall (a6989586621679093007 :: Type). (~>) a6989586621679093007 (Down (a6989586621679093007 :: Type)) #

Instances
SingI (DownSym0 :: TyFun a (Down a) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

Methods

sing :: Sing DownSym0 #

SuppressUnusedWarnings (DownSym0 :: TyFun a6989586621679093007 (Down a6989586621679093007) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply (DownSym0 :: TyFun a (Down a) -> Type) (t6989586621679405207 :: a) # 
Instance details

Defined in Data.Singletons.Prelude.Ord

type Apply (DownSym0 :: TyFun a (Down a) -> Type) (t6989586621679405207 :: a) = Down t6989586621679405207

type DownSym1 (t6989586621679405207 :: a6989586621679093007) = Down t6989586621679405207 #

Orphan instances

SingKind a => SingKind (Down a) # 
Instance details

Associated Types

type Demote (Down a) = (r :: Type) #

Methods

fromSing :: Sing a0 -> Demote (Down a) #

toSing :: Demote (Down a) -> SomeSing (Down a) #

SDecide a => SDecide (Down a) # 
Instance details

Methods

(%~) :: Sing a0 -> Sing b -> Decision (a0 :~: b) #

PEq (Down a) # 
Instance details

Associated Types

type x == y :: Bool #

type x /= y :: Bool #

SEq a => SEq (Down a) # 
Instance details

Methods

(%==) :: Sing a0 -> Sing b -> Sing (a0 == b) #

(%/=) :: Sing a0 -> Sing b -> Sing (a0 /= b) #

SingI n => SingI (Down n :: Down a) # 
Instance details

Methods

sing :: Sing (Down0 n) #

SingI (TyCon1 (Down :: a -> Down a) :: a ~> Down a) # 
Instance details

Methods

sing :: Sing (TyCon1 Down0) #