Copyright | (C) 2013 Richard Eisenberg |
---|---|
License | BSD-style (see LICENSE) |
Maintainer | Ryan Scott |
Stability | experimental |
Portability | non-portable |
Safe Haskell | Safe-Inferred |
Language | GHC2021 |
Synopsis
- class POrd a where
- class SEq a => SOrd a where
- sCompare :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t :: Ordering) :: Type
- (%<) :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t :: Bool) :: Type
- (%<=) :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t :: Bool) :: Type
- (%>) :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t :: Bool) :: Type
- (%>=) :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t :: Bool) :: Type
- sMax :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t :: a) :: Type
- sMin :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t :: a) :: Type
- type family Comparing (a :: (~>) b a) (a :: b) (a :: b) :: Ordering where ...
- sComparing :: forall (t :: (~>) b a) (t :: b) (t :: b). SOrd a => Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ComparingSym0 t) t) t :: Ordering) :: Type
- type family Sing :: k -> Type
- data SOrdering :: Ordering -> Type where
- data SDown :: forall (a :: Type). Down a -> Type where
- type family GetDown (a :: Down (a :: Type)) :: a where ...
- sGetDown :: forall (a :: Type) (t :: Down (a :: Type)). Sing t -> Sing (Apply GetDownSym0 t :: a)
- type family LTSym0 :: Ordering where ...
- type family EQSym0 :: Ordering where ...
- type family GTSym0 :: Ordering where ...
- data CompareSym0 :: (~>) a ((~>) a Ordering)
- data CompareSym1 (a6989586621679190369 :: a) :: (~>) a Ordering
- type family CompareSym2 (a6989586621679190369 :: a) (a6989586621679190370 :: a) :: Ordering where ...
- data (<@#@$) :: (~>) a ((~>) a Bool)
- data (<@#@$$) (a6989586621679190374 :: a) :: (~>) a Bool
- type family (a6989586621679190374 :: a) <@#@$$$ (a6989586621679190375 :: a) :: Bool where ...
- data (<=@#@$) :: (~>) a ((~>) a Bool)
- data (<=@#@$$) (a6989586621679190379 :: a) :: (~>) a Bool
- type family (a6989586621679190379 :: a) <=@#@$$$ (a6989586621679190380 :: a) :: Bool where ...
- data (>@#@$) :: (~>) a ((~>) a Bool)
- data (>@#@$$) (a6989586621679190384 :: a) :: (~>) a Bool
- type family (a6989586621679190384 :: a) >@#@$$$ (a6989586621679190385 :: a) :: Bool where ...
- data (>=@#@$) :: (~>) a ((~>) a Bool)
- data (>=@#@$$) (a6989586621679190389 :: a) :: (~>) a Bool
- type family (a6989586621679190389 :: a) >=@#@$$$ (a6989586621679190390 :: a) :: Bool where ...
- data MaxSym0 :: (~>) a ((~>) a a)
- data MaxSym1 (a6989586621679190394 :: a) :: (~>) a a
- type family MaxSym2 (a6989586621679190394 :: a) (a6989586621679190395 :: a) :: a where ...
- data MinSym0 :: (~>) a ((~>) a a)
- data MinSym1 (a6989586621679190399 :: a) :: (~>) a a
- type family MinSym2 (a6989586621679190399 :: a) (a6989586621679190400 :: a) :: a where ...
- data ComparingSym0 :: (~>) ((~>) b a) ((~>) b ((~>) b Ordering))
- data ComparingSym1 (a6989586621679190360 :: (~>) b a) :: (~>) b ((~>) b Ordering)
- data ComparingSym2 (a6989586621679190360 :: (~>) b a) (a6989586621679190361 :: b) :: (~>) b Ordering
- type family ComparingSym3 (a6989586621679190360 :: (~>) b a) (a6989586621679190361 :: b) (a6989586621679190362 :: b) :: Ordering where ...
- data DownSym0 :: (~>) a (Down (a :: Type))
- type family DownSym1 (a6989586621679201518 :: a) :: Down (a :: Type) where ...
- data GetDownSym0 :: (~>) (Down (a :: Type)) a
- type family GetDownSym1 (a6989586621679201521 :: Down (a :: Type)) :: a where ...
Documentation
type Compare (arg :: a) (arg :: a) :: Ordering Source #
type (arg :: a) < (arg :: a) :: Bool infix 4 Source #
type (arg :: a) <= (arg :: a) :: Bool infix 4 Source #
type (arg :: a) > (arg :: a) :: Bool infix 4 Source #
type (arg :: a) >= (arg :: a) :: Bool infix 4 Source #
Instances
POrd All Source # | |
POrd Any Source # | |
POrd Void Source # | |
POrd Ordering Source # | |
POrd Natural Source # | |
POrd () Source # | |
POrd Bool Source # | |
POrd Char Source # | |
POrd Symbol Source # | |
POrd (Identity a) Source # | |
POrd (First a) Source # | |
POrd (Last a) Source # | |
POrd (Down a) Source # | |
POrd (First a) Source # | |
POrd (Last a) Source # | |
POrd (Max a) Source # | |
POrd (Min a) Source # | |
POrd (WrappedMonoid m) Source # | |
POrd (Dual a) Source # | |
POrd (Product a) Source # | |
POrd (Sum a) Source # | |
POrd (NonEmpty a) Source # | |
POrd (Maybe a) Source # | |
POrd [a] Source # | |
POrd (Either a b) Source # | |
POrd (Proxy s) Source # | |
POrd (Arg a b) Source # | |
POrd (a, b) Source # | |
POrd (Const a b) Source # | |
POrd (a, b, c) Source # | |
POrd (a, b, c, d) Source # | |
POrd (a, b, c, d, e) Source # | |
POrd (a, b, c, d, e, f) Source # | |
POrd (a, b, c, d, e, f, g) Source # | |
class SEq a => SOrd a where Source #
Nothing
sCompare :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t :: Ordering) :: Type Source #
default sCompare :: forall (t :: a) (t :: a). (Apply (Apply CompareSym0 t) t :: Ordering) ~ Apply (Apply Compare_6989586621679190403Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t :: Ordering) :: Type Source #
(%<) :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t :: Bool) :: Type infix 4 Source #
default (%<) :: forall (t :: a) (t :: a). (Apply (Apply (<@#@$) t) t :: Bool) ~ Apply (Apply TFHelper_6989586621679190424Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t :: Bool) :: Type Source #
(%<=) :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t :: Bool) :: Type infix 4 Source #
default (%<=) :: forall (t :: a) (t :: a). (Apply (Apply (<=@#@$) t) t :: Bool) ~ Apply (Apply TFHelper_6989586621679190440Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t :: Bool) :: Type Source #
(%>) :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t :: Bool) :: Type infix 4 Source #
default (%>) :: forall (t :: a) (t :: a). (Apply (Apply (>@#@$) t) t :: Bool) ~ Apply (Apply TFHelper_6989586621679190456Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t :: Bool) :: Type Source #
(%>=) :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t :: Bool) :: Type infix 4 Source #
default (%>=) :: forall (t :: a) (t :: a). (Apply (Apply (>=@#@$) t) t :: Bool) ~ Apply (Apply TFHelper_6989586621679190472Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t :: Bool) :: Type Source #
sMax :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t :: a) :: Type Source #
default sMax :: forall (t :: a) (t :: a). (Apply (Apply MaxSym0 t) t :: a) ~ Apply (Apply Max_6989586621679190488Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t :: a) :: Type Source #
sMin :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t :: a) :: Type Source #
Instances
SOrd Bool => SOrd All Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers sCompare :: forall (t1 :: All) (t2 :: All). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: All) (t2 :: All). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: All) (t2 :: All). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: All) (t2 :: All). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: All) (t2 :: All). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: All) (t2 :: All). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: All) (t2 :: All). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd Bool => SOrd Any Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers sCompare :: forall (t1 :: Any) (t2 :: Any). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Any) (t2 :: Any). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Any) (t2 :: Any). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Any) (t2 :: Any). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Any) (t2 :: Any). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Any) (t2 :: Any). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Any) (t2 :: Any). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd Void Source # | |
Defined in Data.Ord.Singletons sCompare :: forall (t1 :: Void) (t2 :: Void). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Void) (t2 :: Void). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Void) (t2 :: Void). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Void) (t2 :: Void). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Void) (t2 :: Void). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Void) (t2 :: Void). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Void) (t2 :: Void). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd Ordering Source # | |
Defined in Data.Ord.Singletons sCompare :: forall (t1 :: Ordering) (t2 :: Ordering). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Ordering) (t2 :: Ordering). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Ordering) (t2 :: Ordering). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Ordering) (t2 :: Ordering). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Ordering) (t2 :: Ordering). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Ordering) (t2 :: Ordering). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Ordering) (t2 :: Ordering). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd Natural Source # | |
Defined in GHC.TypeLits.Singletons.Internal sCompare :: forall (t1 :: Natural) (t2 :: Natural). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Natural) (t2 :: Natural). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Natural) (t2 :: Natural). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Natural) (t2 :: Natural). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Natural) (t2 :: Natural). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Natural) (t2 :: Natural). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Natural) (t2 :: Natural). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd () Source # | |
Defined in Data.Ord.Singletons sCompare :: forall (t1 :: ()) (t2 :: ()). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: ()) (t2 :: ()). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: ()) (t2 :: ()). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: ()) (t2 :: ()). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: ()) (t2 :: ()). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: ()) (t2 :: ()). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: ()) (t2 :: ()). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd Bool Source # | |
Defined in Data.Ord.Singletons sCompare :: forall (t1 :: Bool) (t2 :: Bool). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Bool) (t2 :: Bool). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Bool) (t2 :: Bool). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Bool) (t2 :: Bool). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Bool) (t2 :: Bool). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Bool) (t2 :: Bool). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Bool) (t2 :: Bool). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd Char Source # | |
Defined in GHC.TypeLits.Singletons.Internal sCompare :: forall (t1 :: Char) (t2 :: Char). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Char) (t2 :: Char). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Char) (t2 :: Char). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Char) (t2 :: Char). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Char) (t2 :: Char). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Char) (t2 :: Char). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Char) (t2 :: Char). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd Symbol Source # | |
Defined in GHC.TypeLits.Singletons.Internal sCompare :: forall (t1 :: Symbol) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Symbol) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Symbol) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Symbol) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Symbol) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Symbol) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Symbol) (t2 :: Symbol). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd a => SOrd (Identity a) Source # | |
Defined in Data.Ord.Singletons sCompare :: forall (t1 :: Identity a) (t2 :: Identity a). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Identity a) (t2 :: Identity a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Identity a) (t2 :: Identity a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Identity a) (t2 :: Identity a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Identity a) (t2 :: Identity a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Identity a) (t2 :: Identity a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Identity a) (t2 :: Identity a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd (Maybe a) => SOrd (First a) Source # | |
Defined in Data.Monoid.Singletons sCompare :: forall (t1 :: First a) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: First a) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: First a) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: First a) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: First a) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: First a) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: First a) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd (Maybe a) => SOrd (Last a) Source # | |
Defined in Data.Monoid.Singletons sCompare :: forall (t1 :: Last a) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Last a) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Last a) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Last a) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Last a) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Last a) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Last a) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd a => SOrd (Down a) Source # | |
Defined in Data.Ord.Singletons sCompare :: forall (t1 :: Down a) (t2 :: Down a). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Down a) (t2 :: Down a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Down a) (t2 :: Down a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Down a) (t2 :: Down a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Down a) (t2 :: Down a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Down a) (t2 :: Down a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Down a) (t2 :: Down a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd a => SOrd (First a) Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers sCompare :: forall (t1 :: First a) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: First a) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: First a) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: First a) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: First a) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: First a) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: First a) (t2 :: First a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd a => SOrd (Last a) Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers sCompare :: forall (t1 :: Last a) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Last a) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Last a) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Last a) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Last a) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Last a) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Last a) (t2 :: Last a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd a => SOrd (Max a) Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers sCompare :: forall (t1 :: Max a) (t2 :: Max a). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Max a) (t2 :: Max a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Max a) (t2 :: Max a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Max a) (t2 :: Max a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Max a) (t2 :: Max a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Max a) (t2 :: Max a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Max a) (t2 :: Max a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd a => SOrd (Min a) Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers sCompare :: forall (t1 :: Min a) (t2 :: Min a). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Min a) (t2 :: Min a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Min a) (t2 :: Min a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Min a) (t2 :: Min a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Min a) (t2 :: Min a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Min a) (t2 :: Min a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Min a) (t2 :: Min a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd m => SOrd (WrappedMonoid m) Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers sCompare :: forall (t1 :: WrappedMonoid m) (t2 :: WrappedMonoid m). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: WrappedMonoid m) (t2 :: WrappedMonoid m). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: WrappedMonoid m) (t2 :: WrappedMonoid m). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: WrappedMonoid m) (t2 :: WrappedMonoid m). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: WrappedMonoid m) (t2 :: WrappedMonoid m). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: WrappedMonoid m) (t2 :: WrappedMonoid m). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: WrappedMonoid m) (t2 :: WrappedMonoid m). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd a => SOrd (Dual a) Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers sCompare :: forall (t1 :: Dual a) (t2 :: Dual a). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Dual a) (t2 :: Dual a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Dual a) (t2 :: Dual a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Dual a) (t2 :: Dual a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Dual a) (t2 :: Dual a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Dual a) (t2 :: Dual a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Dual a) (t2 :: Dual a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd a => SOrd (Product a) Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers sCompare :: forall (t1 :: Product a) (t2 :: Product a). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Product a) (t2 :: Product a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Product a) (t2 :: Product a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Product a) (t2 :: Product a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Product a) (t2 :: Product a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Product a) (t2 :: Product a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Product a) (t2 :: Product a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd a => SOrd (Sum a) Source # | |
Defined in Data.Semigroup.Singletons.Internal.Wrappers sCompare :: forall (t1 :: Sum a) (t2 :: Sum a). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Sum a) (t2 :: Sum a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Sum a) (t2 :: Sum a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Sum a) (t2 :: Sum a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Sum a) (t2 :: Sum a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Sum a) (t2 :: Sum a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Sum a) (t2 :: Sum a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
(SOrd a, SOrd [a]) => SOrd (NonEmpty a) Source # | |
Defined in Data.Ord.Singletons sCompare :: forall (t1 :: NonEmpty a) (t2 :: NonEmpty a). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: NonEmpty a) (t2 :: NonEmpty a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: NonEmpty a) (t2 :: NonEmpty a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: NonEmpty a) (t2 :: NonEmpty a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: NonEmpty a) (t2 :: NonEmpty a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: NonEmpty a) (t2 :: NonEmpty a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: NonEmpty a) (t2 :: NonEmpty a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd a => SOrd (Maybe a) Source # | |
Defined in Data.Ord.Singletons sCompare :: forall (t1 :: Maybe a) (t2 :: Maybe a). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Maybe a) (t2 :: Maybe a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Maybe a) (t2 :: Maybe a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Maybe a) (t2 :: Maybe a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Maybe a) (t2 :: Maybe a). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Maybe a) (t2 :: Maybe a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Maybe a) (t2 :: Maybe a). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
(SOrd a, SOrd [a]) => SOrd [a] Source # | |
Defined in Data.Ord.Singletons sCompare :: forall (t1 :: [a]) (t2 :: [a]). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: [a]) (t2 :: [a]). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: [a]) (t2 :: [a]). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: [a]) (t2 :: [a]). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: [a]) (t2 :: [a]). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: [a]) (t2 :: [a]). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: [a]) (t2 :: [a]). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
(SOrd a, SOrd b) => SOrd (Either a b) Source # | |
Defined in Data.Ord.Singletons sCompare :: forall (t1 :: Either a b) (t2 :: Either a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Either a b) (t2 :: Either a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Either a b) (t2 :: Either a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Either a b) (t2 :: Either a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Either a b) (t2 :: Either a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Either a b) (t2 :: Either a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Either a b) (t2 :: Either a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd (Proxy s) Source # | |
Defined in Data.Proxy.Singletons sCompare :: forall (t1 :: Proxy s) (t2 :: Proxy s). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Proxy s) (t2 :: Proxy s). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Proxy s) (t2 :: Proxy s). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Proxy s) (t2 :: Proxy s). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Proxy s) (t2 :: Proxy s). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Proxy s) (t2 :: Proxy s). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Proxy s) (t2 :: Proxy s). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd a => SOrd (Arg a b) Source # | |
Defined in Data.Semigroup.Singletons sCompare :: forall (t1 :: Arg a b) (t2 :: Arg a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Arg a b) (t2 :: Arg a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Arg a b) (t2 :: Arg a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Arg a b) (t2 :: Arg a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Arg a b) (t2 :: Arg a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Arg a b) (t2 :: Arg a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Arg a b) (t2 :: Arg a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
(SOrd a, SOrd b) => SOrd (a, b) Source # | |
Defined in Data.Ord.Singletons sCompare :: forall (t1 :: (a, b)) (t2 :: (a, b)). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: (a, b)) (t2 :: (a, b)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: (a, b)) (t2 :: (a, b)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: (a, b)) (t2 :: (a, b)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: (a, b)) (t2 :: (a, b)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: (a, b)) (t2 :: (a, b)). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: (a, b)) (t2 :: (a, b)). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
SOrd a => SOrd (Const a b) Source # | |
Defined in Data.Functor.Const.Singletons sCompare :: forall (t1 :: Const a b) (t2 :: Const a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: Const a b) (t2 :: Const a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: Const a b) (t2 :: Const a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: Const a b) (t2 :: Const a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: Const a b) (t2 :: Const a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: Const a b) (t2 :: Const a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: Const a b) (t2 :: Const a b). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
(SOrd a, SOrd b, SOrd c) => SOrd (a, b, c) Source # | |
Defined in Data.Ord.Singletons sCompare :: forall (t1 :: (a, b, c)) (t2 :: (a, b, c)). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: (a, b, c)) (t2 :: (a, b, c)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: (a, b, c)) (t2 :: (a, b, c)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: (a, b, c)) (t2 :: (a, b, c)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: (a, b, c)) (t2 :: (a, b, c)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: (a, b, c)) (t2 :: (a, b, c)). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: (a, b, c)) (t2 :: (a, b, c)). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
(SOrd a, SOrd b, SOrd c, SOrd d) => SOrd (a, b, c, d) Source # | |
Defined in Data.Ord.Singletons sCompare :: forall (t1 :: (a, b, c, d)) (t2 :: (a, b, c, d)). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: (a, b, c, d)) (t2 :: (a, b, c, d)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: (a, b, c, d)) (t2 :: (a, b, c, d)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: (a, b, c, d)) (t2 :: (a, b, c, d)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: (a, b, c, d)) (t2 :: (a, b, c, d)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: (a, b, c, d)) (t2 :: (a, b, c, d)). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: (a, b, c, d)) (t2 :: (a, b, c, d)). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
(SOrd a, SOrd b, SOrd c, SOrd d, SOrd e) => SOrd (a, b, c, d, e) Source # | |
Defined in Data.Ord.Singletons sCompare :: forall (t1 :: (a, b, c, d, e)) (t2 :: (a, b, c, d, e)). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: (a, b, c, d, e)) (t2 :: (a, b, c, d, e)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: (a, b, c, d, e)) (t2 :: (a, b, c, d, e)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: (a, b, c, d, e)) (t2 :: (a, b, c, d, e)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: (a, b, c, d, e)) (t2 :: (a, b, c, d, e)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: (a, b, c, d, e)) (t2 :: (a, b, c, d, e)). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: (a, b, c, d, e)) (t2 :: (a, b, c, d, e)). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
(SOrd a, SOrd b, SOrd c, SOrd d, SOrd e, SOrd f) => SOrd (a, b, c, d, e, f) Source # | |
Defined in Data.Ord.Singletons sCompare :: forall (t1 :: (a, b, c, d, e, f)) (t2 :: (a, b, c, d, e, f)). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: (a, b, c, d, e, f)) (t2 :: (a, b, c, d, e, f)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: (a, b, c, d, e, f)) (t2 :: (a, b, c, d, e, f)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: (a, b, c, d, e, f)) (t2 :: (a, b, c, d, e, f)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: (a, b, c, d, e, f)) (t2 :: (a, b, c, d, e, f)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: (a, b, c, d, e, f)) (t2 :: (a, b, c, d, e, f)). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: (a, b, c, d, e, f)) (t2 :: (a, b, c, d, e, f)). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # | |
(SOrd a, SOrd b, SOrd c, SOrd d, SOrd e, SOrd f, SOrd g) => SOrd (a, b, c, d, e, f, g) Source # | |
Defined in Data.Ord.Singletons sCompare :: forall (t1 :: (a, b, c, d, e, f, g)) (t2 :: (a, b, c, d, e, f, g)). Sing t1 -> Sing t2 -> Sing (Apply (Apply CompareSym0 t1) t2) Source # (%<) :: forall (t1 :: (a, b, c, d, e, f, g)) (t2 :: (a, b, c, d, e, f, g)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<@#@$) t1) t2) Source # (%<=) :: forall (t1 :: (a, b, c, d, e, f, g)) (t2 :: (a, b, c, d, e, f, g)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (<=@#@$) t1) t2) Source # (%>) :: forall (t1 :: (a, b, c, d, e, f, g)) (t2 :: (a, b, c, d, e, f, g)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>@#@$) t1) t2) Source # (%>=) :: forall (t1 :: (a, b, c, d, e, f, g)) (t2 :: (a, b, c, d, e, f, g)). Sing t1 -> Sing t2 -> Sing (Apply (Apply (>=@#@$) t1) t2) Source # sMax :: forall (t1 :: (a, b, c, d, e, f, g)) (t2 :: (a, b, c, d, e, f, g)). Sing t1 -> Sing t2 -> Sing (Apply (Apply MaxSym0 t1) t2) Source # sMin :: forall (t1 :: (a, b, c, d, e, f, g)) (t2 :: (a, b, c, d, e, f, g)). Sing t1 -> Sing t2 -> Sing (Apply (Apply MinSym0 t1) t2) Source # |
sComparing :: forall (t :: (~>) b a) (t :: b) (t :: b). SOrd a => Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ComparingSym0 t) t) t :: Ordering) :: Type Source #
type family Sing :: k -> Type #
The singleton kind-indexed type family.
Instances
data SOrdering :: Ordering -> Type where Source #
SLT :: SOrdering ('LT :: Ordering) | |
SEQ :: SOrdering ('EQ :: Ordering) | |
SGT :: SOrdering ('GT :: Ordering) |
Instances
TestCoercion SOrdering Source # | |
Defined in Data.Singletons.Base.Instances testCoercion :: forall (a :: k) (b :: k). SOrdering a -> SOrdering b -> Maybe (Coercion a b) | |
TestEquality SOrdering Source # | |
Defined in Data.Singletons.Base.Instances testEquality :: forall (a :: k) (b :: k). SOrdering a -> SOrdering b -> Maybe (a :~: b) | |
Show (SOrdering z) Source # | |
data SDown :: forall (a :: Type). Down a -> Type where Source #
Instances
SDecide a => TestCoercion (SDown :: Down a -> Type) Source # | |
Defined in Data.Ord.Singletons testCoercion :: forall (a0 :: k) (b :: k). SDown a0 -> SDown b -> Maybe (Coercion a0 b) | |
SDecide a => TestEquality (SDown :: Down a -> Type) Source # | |
Defined in Data.Ord.Singletons testEquality :: forall (a0 :: k) (b :: k). SDown a0 -> SDown b -> Maybe (a0 :~: b) |
sGetDown :: forall (a :: Type) (t :: Down (a :: Type)). Sing t -> Sing (Apply GetDownSym0 t :: a) Source #
Defunctionalization symbols
data CompareSym0 :: (~>) a ((~>) a Ordering) Source #
Instances
SOrd a => SingI (CompareSym0 :: TyFun a (a ~> Ordering) -> Type) Source # | |
Defined in Data.Ord.Singletons sing :: Sing CompareSym0 # | |
SuppressUnusedWarnings (CompareSym0 :: TyFun a (a ~> Ordering) -> Type) Source # | |
Defined in Data.Ord.Singletons suppressUnusedWarnings :: () # | |
type Apply (CompareSym0 :: TyFun a (a ~> Ordering) -> Type) (a6989586621679190369 :: a) Source # | |
Defined in Data.Ord.Singletons type Apply (CompareSym0 :: TyFun a (a ~> Ordering) -> Type) (a6989586621679190369 :: a) = CompareSym1 a6989586621679190369 |
data CompareSym1 (a6989586621679190369 :: a) :: (~>) a Ordering Source #
Instances
SOrd a => SingI1 (CompareSym1 :: a -> TyFun a Ordering -> Type) Source # | |
Defined in Data.Ord.Singletons liftSing :: forall (x :: k1). Sing x -> Sing (CompareSym1 x) # | |
(SOrd a, SingI d) => SingI (CompareSym1 d :: TyFun a Ordering -> Type) Source # | |
Defined in Data.Ord.Singletons sing :: Sing (CompareSym1 d) # | |
SuppressUnusedWarnings (CompareSym1 a6989586621679190369 :: TyFun a Ordering -> Type) Source # | |
Defined in Data.Ord.Singletons suppressUnusedWarnings :: () # | |
type Apply (CompareSym1 a6989586621679190369 :: TyFun a Ordering -> Type) (a6989586621679190370 :: a) Source # | |
Defined in Data.Ord.Singletons type Apply (CompareSym1 a6989586621679190369 :: TyFun a Ordering -> Type) (a6989586621679190370 :: a) = Compare a6989586621679190369 a6989586621679190370 |
type family CompareSym2 (a6989586621679190369 :: a) (a6989586621679190370 :: a) :: Ordering where ... Source #
CompareSym2 a6989586621679190369 a6989586621679190370 = Compare a6989586621679190369 a6989586621679190370 |
data (<@#@$) :: (~>) a ((~>) a Bool) infix 4 Source #
Instances
SOrd a => SingI ((<@#@$) :: TyFun a (a ~> Bool) -> Type) Source # | |
Defined in Data.Ord.Singletons | |
SuppressUnusedWarnings ((<@#@$) :: TyFun a (a ~> Bool) -> Type) Source # | |
Defined in Data.Ord.Singletons suppressUnusedWarnings :: () # | |
type Apply ((<@#@$) :: TyFun a (a ~> Bool) -> Type) (a6989586621679190374 :: a) Source # | |
data (<@#@$$) (a6989586621679190374 :: a) :: (~>) a Bool infix 4 Source #
Instances
SOrd a => SingI1 ((<@#@$$) :: a -> TyFun a Bool -> Type) Source # | |
(SOrd a, SingI d) => SingI ((<@#@$$) d :: TyFun a Bool -> Type) Source # | |
Defined in Data.Ord.Singletons | |
SuppressUnusedWarnings ((<@#@$$) a6989586621679190374 :: TyFun a Bool -> Type) Source # | |
Defined in Data.Ord.Singletons suppressUnusedWarnings :: () # | |
type Apply ((<@#@$$) a6989586621679190374 :: TyFun a Bool -> Type) (a6989586621679190375 :: a) Source # | |
Defined in Data.Ord.Singletons |
type family (a6989586621679190374 :: a) <@#@$$$ (a6989586621679190375 :: a) :: Bool where ... infix 4 Source #
data (<=@#@$) :: (~>) a ((~>) a Bool) infix 4 Source #
Instances
SOrd a => SingI ((<=@#@$) :: TyFun a (a ~> Bool) -> Type) Source # | |
Defined in Data.Ord.Singletons | |
SuppressUnusedWarnings ((<=@#@$) :: TyFun a (a ~> Bool) -> Type) Source # | |
Defined in Data.Ord.Singletons suppressUnusedWarnings :: () # | |
type Apply ((<=@#@$) :: TyFun a (a ~> Bool) -> Type) (a6989586621679190379 :: a) Source # | |
data (<=@#@$$) (a6989586621679190379 :: a) :: (~>) a Bool infix 4 Source #
Instances
SOrd a => SingI1 ((<=@#@$$) :: a -> TyFun a Bool -> Type) Source # | |
(SOrd a, SingI d) => SingI ((<=@#@$$) d :: TyFun a Bool -> Type) Source # | |
Defined in Data.Ord.Singletons | |
SuppressUnusedWarnings ((<=@#@$$) a6989586621679190379 :: TyFun a Bool -> Type) Source # | |
Defined in Data.Ord.Singletons suppressUnusedWarnings :: () # | |
type Apply ((<=@#@$$) a6989586621679190379 :: TyFun a Bool -> Type) (a6989586621679190380 :: a) Source # | |
Defined in Data.Ord.Singletons |
type family (a6989586621679190379 :: a) <=@#@$$$ (a6989586621679190380 :: a) :: Bool where ... infix 4 Source #
data (>@#@$) :: (~>) a ((~>) a Bool) infix 4 Source #
Instances
SOrd a => SingI ((>@#@$) :: TyFun a (a ~> Bool) -> Type) Source # | |
Defined in Data.Ord.Singletons | |
SuppressUnusedWarnings ((>@#@$) :: TyFun a (a ~> Bool) -> Type) Source # | |
Defined in Data.Ord.Singletons suppressUnusedWarnings :: () # | |
type Apply ((>@#@$) :: TyFun a (a ~> Bool) -> Type) (a6989586621679190384 :: a) Source # | |
data (>@#@$$) (a6989586621679190384 :: a) :: (~>) a Bool infix 4 Source #
Instances
SOrd a => SingI1 ((>@#@$$) :: a -> TyFun a Bool -> Type) Source # | |
(SOrd a, SingI d) => SingI ((>@#@$$) d :: TyFun a Bool -> Type) Source # | |
Defined in Data.Ord.Singletons | |
SuppressUnusedWarnings ((>@#@$$) a6989586621679190384 :: TyFun a Bool -> Type) Source # | |
Defined in Data.Ord.Singletons suppressUnusedWarnings :: () # | |
type Apply ((>@#@$$) a6989586621679190384 :: TyFun a Bool -> Type) (a6989586621679190385 :: a) Source # | |
Defined in Data.Ord.Singletons |
type family (a6989586621679190384 :: a) >@#@$$$ (a6989586621679190385 :: a) :: Bool where ... infix 4 Source #
data (>=@#@$) :: (~>) a ((~>) a Bool) infix 4 Source #
Instances
SOrd a => SingI ((>=@#@$) :: TyFun a (a ~> Bool) -> Type) Source # | |
Defined in Data.Ord.Singletons | |
SuppressUnusedWarnings ((>=@#@$) :: TyFun a (a ~> Bool) -> Type) Source # | |
Defined in Data.Ord.Singletons suppressUnusedWarnings :: () # | |
type Apply ((>=@#@$) :: TyFun a (a ~> Bool) -> Type) (a6989586621679190389 :: a) Source # | |
data (>=@#@$$) (a6989586621679190389 :: a) :: (~>) a Bool infix 4 Source #
Instances
SOrd a => SingI1 ((>=@#@$$) :: a -> TyFun a Bool -> Type) Source # | |
(SOrd a, SingI d) => SingI ((>=@#@$$) d :: TyFun a Bool -> Type) Source # | |
Defined in Data.Ord.Singletons | |
SuppressUnusedWarnings ((>=@#@$$) a6989586621679190389 :: TyFun a Bool -> Type) Source # | |
Defined in Data.Ord.Singletons suppressUnusedWarnings :: () # | |
type Apply ((>=@#@$$) a6989586621679190389 :: TyFun a Bool -> Type) (a6989586621679190390 :: a) Source # | |
Defined in Data.Ord.Singletons |
type family (a6989586621679190389 :: a) >=@#@$$$ (a6989586621679190390 :: a) :: Bool where ... infix 4 Source #
data MaxSym0 :: (~>) a ((~>) a a) Source #
Instances
SOrd a => SingI (MaxSym0 :: TyFun a (a ~> a) -> Type) Source # | |
Defined in Data.Ord.Singletons | |
SuppressUnusedWarnings (MaxSym0 :: TyFun a (a ~> a) -> Type) Source # | |
Defined in Data.Ord.Singletons suppressUnusedWarnings :: () # | |
type Apply (MaxSym0 :: TyFun a (a ~> a) -> Type) (a6989586621679190394 :: a) Source # | |
data MaxSym1 (a6989586621679190394 :: a) :: (~>) a a Source #
Instances
SOrd a => SingI1 (MaxSym1 :: a -> TyFun a a -> Type) Source # | |
(SOrd a, SingI d) => SingI (MaxSym1 d :: TyFun a a -> Type) Source # | |
Defined in Data.Ord.Singletons | |
SuppressUnusedWarnings (MaxSym1 a6989586621679190394 :: TyFun a a -> Type) Source # | |
Defined in Data.Ord.Singletons suppressUnusedWarnings :: () # | |
type Apply (MaxSym1 a6989586621679190394 :: TyFun a a -> Type) (a6989586621679190395 :: a) Source # | |
Defined in Data.Ord.Singletons |
data MinSym0 :: (~>) a ((~>) a a) Source #
Instances
SOrd a => SingI (MinSym0 :: TyFun a (a ~> a) -> Type) Source # | |
Defined in Data.Ord.Singletons | |
SuppressUnusedWarnings (MinSym0 :: TyFun a (a ~> a) -> Type) Source # | |
Defined in Data.Ord.Singletons suppressUnusedWarnings :: () # | |
type Apply (MinSym0 :: TyFun a (a ~> a) -> Type) (a6989586621679190399 :: a) Source # | |
data MinSym1 (a6989586621679190399 :: a) :: (~>) a a Source #
Instances
SOrd a => SingI1 (MinSym1 :: a -> TyFun a a -> Type) Source # | |
(SOrd a, SingI d) => SingI (MinSym1 d :: TyFun a a -> Type) Source # | |
Defined in Data.Ord.Singletons | |
SuppressUnusedWarnings (MinSym1 a6989586621679190399 :: TyFun a a -> Type) Source # | |
Defined in Data.Ord.Singletons suppressUnusedWarnings :: () # | |
type Apply (MinSym1 a6989586621679190399 :: TyFun a a -> Type) (a6989586621679190400 :: a) Source # | |
Defined in Data.Ord.Singletons |
data ComparingSym0 :: (~>) ((~>) b a) ((~>) b ((~>) b Ordering)) Source #
Instances
SOrd a => SingI (ComparingSym0 :: TyFun (b ~> a) (b ~> (b ~> Ordering)) -> Type) Source # | |
Defined in Data.Ord.Singletons sing :: Sing ComparingSym0 # | |
SuppressUnusedWarnings (ComparingSym0 :: TyFun (b ~> a) (b ~> (b ~> Ordering)) -> Type) Source # | |
Defined in Data.Ord.Singletons suppressUnusedWarnings :: () # | |
type Apply (ComparingSym0 :: TyFun (b ~> a) (b ~> (b ~> Ordering)) -> Type) (a6989586621679190360 :: b ~> a) Source # | |
Defined in Data.Ord.Singletons type Apply (ComparingSym0 :: TyFun (b ~> a) (b ~> (b ~> Ordering)) -> Type) (a6989586621679190360 :: b ~> a) = ComparingSym1 a6989586621679190360 |
data ComparingSym1 (a6989586621679190360 :: (~>) b a) :: (~>) b ((~>) b Ordering) Source #
Instances
SOrd a => SingI1 (ComparingSym1 :: (b ~> a) -> TyFun b (b ~> Ordering) -> Type) Source # | |
Defined in Data.Ord.Singletons liftSing :: forall (x :: k1). Sing x -> Sing (ComparingSym1 x) # | |
(SOrd a, SingI d) => SingI (ComparingSym1 d :: TyFun b (b ~> Ordering) -> Type) Source # | |
Defined in Data.Ord.Singletons sing :: Sing (ComparingSym1 d) # | |
SuppressUnusedWarnings (ComparingSym1 a6989586621679190360 :: TyFun b (b ~> Ordering) -> Type) Source # | |
Defined in Data.Ord.Singletons suppressUnusedWarnings :: () # | |
type Apply (ComparingSym1 a6989586621679190360 :: TyFun b (b ~> Ordering) -> Type) (a6989586621679190361 :: b) Source # | |
Defined in Data.Ord.Singletons type Apply (ComparingSym1 a6989586621679190360 :: TyFun b (b ~> Ordering) -> Type) (a6989586621679190361 :: b) = ComparingSym2 a6989586621679190360 a6989586621679190361 |
data ComparingSym2 (a6989586621679190360 :: (~>) b a) (a6989586621679190361 :: b) :: (~>) b Ordering Source #
Instances
(SOrd a, SingI d) => SingI1 (ComparingSym2 d :: b -> TyFun b Ordering -> Type) Source # | |
Defined in Data.Ord.Singletons liftSing :: forall (x :: k1). Sing x -> Sing (ComparingSym2 d x) # | |
SOrd a => SingI2 (ComparingSym2 :: (b ~> a) -> b -> TyFun b Ordering -> Type) Source # | |
Defined in Data.Ord.Singletons | |
(SOrd a, SingI d1, SingI d2) => SingI (ComparingSym2 d1 d2 :: TyFun b Ordering -> Type) Source # | |
Defined in Data.Ord.Singletons sing :: Sing (ComparingSym2 d1 d2) # | |
SuppressUnusedWarnings (ComparingSym2 a6989586621679190360 a6989586621679190361 :: TyFun b Ordering -> Type) Source # | |
Defined in Data.Ord.Singletons suppressUnusedWarnings :: () # | |
type Apply (ComparingSym2 a6989586621679190360 a6989586621679190361 :: TyFun b Ordering -> Type) (a6989586621679190362 :: b) Source # | |
Defined in Data.Ord.Singletons type Apply (ComparingSym2 a6989586621679190360 a6989586621679190361 :: TyFun b Ordering -> Type) (a6989586621679190362 :: b) = Comparing a6989586621679190360 a6989586621679190361 a6989586621679190362 |
type family ComparingSym3 (a6989586621679190360 :: (~>) b a) (a6989586621679190361 :: b) (a6989586621679190362 :: b) :: Ordering where ... Source #
ComparingSym3 a6989586621679190360 a6989586621679190361 a6989586621679190362 = Comparing a6989586621679190360 a6989586621679190361 a6989586621679190362 |
data DownSym0 :: (~>) a (Down (a :: Type)) Source #
Instances
SingI (DownSym0 :: TyFun a (Down a) -> Type) Source # | |
Defined in Data.Ord.Singletons | |
SuppressUnusedWarnings (DownSym0 :: TyFun a (Down a) -> Type) Source # | |
Defined in Data.Ord.Singletons suppressUnusedWarnings :: () # | |
type Apply (DownSym0 :: TyFun a (Down a) -> Type) (a6989586621679201518 :: a) Source # | |
Defined in Data.Ord.Singletons |
type family DownSym1 (a6989586621679201518 :: a) :: Down (a :: Type) where ... Source #
DownSym1 a6989586621679201518 = 'Down a6989586621679201518 |
data GetDownSym0 :: (~>) (Down (a :: Type)) a Source #
Instances
SingI (GetDownSym0 :: TyFun (Down a) a -> Type) Source # | |
Defined in Data.Ord.Singletons sing :: Sing GetDownSym0 # | |
SuppressUnusedWarnings (GetDownSym0 :: TyFun (Down a) a -> Type) Source # | |
Defined in Data.Ord.Singletons suppressUnusedWarnings :: () # | |
type Apply (GetDownSym0 :: TyFun (Down a) a -> Type) (a6989586621679201521 :: Down a) Source # | |
Defined in Data.Ord.Singletons type Apply (GetDownSym0 :: TyFun (Down a) a -> Type) (a6989586621679201521 :: Down a) = GetDown a6989586621679201521 |
type family GetDownSym1 (a6989586621679201521 :: Down (a :: Type)) :: a where ... Source #
GetDownSym1 a6989586621679201521 = GetDown a6989586621679201521 |