Copyright | (C) 2013 Richard Eisenberg |
---|---|
License | BSD-style (see LICENSE) |
Maintainer | Richard Eisenberg (rae@cs.brynmawr.edu) |
Stability | experimental |
Portability | non-portable |
Safe Haskell | None |
Language | Haskell2010 |
Synopsis
- class PEq a => POrd (a :: Type) where
- class SEq a => SOrd a where
- type family Comparing (a :: TyFun b a -> Type) (a :: b) (a :: b) :: Ordering where ...
- sComparing :: forall (t :: TyFun b a -> Type) (t :: b) (t :: b). SOrd a => Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ComparingSym0 t) t) t :: Ordering)
- thenCmp :: Ordering -> Ordering -> Ordering
- type family ThenCmp (a :: Ordering) (a :: Ordering) :: Ordering where ...
- sThenCmp :: forall (t :: Ordering) (t :: Ordering). Sing t -> Sing t -> Sing (Apply (Apply ThenCmpSym0 t) t :: Ordering)
- data family Sing (a :: k)
- data ThenCmpSym0 (l :: TyFun Ordering (TyFun Ordering Ordering -> Type))
- data ThenCmpSym1 (l :: Ordering) (l :: TyFun Ordering Ordering)
- type ThenCmpSym2 (t :: Ordering) (t :: Ordering) = ThenCmp t t
- type LTSym0 = LT
- type EQSym0 = EQ
- type GTSym0 = GT
- data CompareSym0 (l :: TyFun a6989586621679323527 (TyFun a6989586621679323527 Ordering -> Type))
- data CompareSym1 (l :: a6989586621679323527) (l :: TyFun a6989586621679323527 Ordering)
- type CompareSym2 (t :: a6989586621679323527) (t :: a6989586621679323527) = Compare t t
- data (<@#@$) (l :: TyFun a6989586621679323527 (TyFun a6989586621679323527 Bool -> Type))
- data (l :: a6989586621679323527) <@#@$$ (l :: TyFun a6989586621679323527 Bool)
- type (<@#@$$$) (t :: a6989586621679323527) (t :: a6989586621679323527) = (<) t t
- data (<=@#@$) (l :: TyFun a6989586621679323527 (TyFun a6989586621679323527 Bool -> Type))
- data (l :: a6989586621679323527) <=@#@$$ (l :: TyFun a6989586621679323527 Bool)
- type (<=@#@$$$) (t :: a6989586621679323527) (t :: a6989586621679323527) = (<=) t t
- data (>@#@$) (l :: TyFun a6989586621679323527 (TyFun a6989586621679323527 Bool -> Type))
- data (l :: a6989586621679323527) >@#@$$ (l :: TyFun a6989586621679323527 Bool)
- type (>@#@$$$) (t :: a6989586621679323527) (t :: a6989586621679323527) = (>) t t
- data (>=@#@$) (l :: TyFun a6989586621679323527 (TyFun a6989586621679323527 Bool -> Type))
- data (l :: a6989586621679323527) >=@#@$$ (l :: TyFun a6989586621679323527 Bool)
- type (>=@#@$$$) (t :: a6989586621679323527) (t :: a6989586621679323527) = (>=) t t
- data MaxSym0 (l :: TyFun a6989586621679323527 (TyFun a6989586621679323527 a6989586621679323527 -> Type))
- data MaxSym1 (l :: a6989586621679323527) (l :: TyFun a6989586621679323527 a6989586621679323527)
- type MaxSym2 (t :: a6989586621679323527) (t :: a6989586621679323527) = Max t t
- data MinSym0 (l :: TyFun a6989586621679323527 (TyFun a6989586621679323527 a6989586621679323527 -> Type))
- data MinSym1 (l :: a6989586621679323527) (l :: TyFun a6989586621679323527 a6989586621679323527)
- type MinSym2 (t :: a6989586621679323527) (t :: a6989586621679323527) = Min t t
- data ComparingSym0 (l :: TyFun (TyFun b6989586621679323517 a6989586621679323516 -> Type) (TyFun b6989586621679323517 (TyFun b6989586621679323517 Ordering -> Type) -> Type))
- data ComparingSym1 (l :: TyFun b6989586621679323517 a6989586621679323516 -> Type) (l :: TyFun b6989586621679323517 (TyFun b6989586621679323517 Ordering -> Type))
- data ComparingSym2 (l :: TyFun b6989586621679323517 a6989586621679323516 -> Type) (l :: b6989586621679323517) (l :: TyFun b6989586621679323517 Ordering)
- type ComparingSym3 (t :: TyFun b6989586621679323517 a6989586621679323516 -> Type) (t :: b6989586621679323517) (t :: b6989586621679323517) = Comparing t t t
Documentation
class PEq a => POrd (a :: Type) Source #
type Compare (arg :: a) (arg :: a) :: Ordering Source #
type (arg :: a) < (arg :: a) :: Bool Source #
type (arg :: a) <= (arg :: a) :: Bool Source #
type (arg :: a) > (arg :: a) :: Bool Source #
type (arg :: a) >= (arg :: a) :: Bool Source #
Instances
POrd Bool Source # | |
POrd Ordering Source # | |
POrd Nat Source # | |
POrd Symbol Source # | |
POrd () Source # | |
POrd Void Source # | |
POrd [a] Source # | |
POrd (Maybe a) Source # | |
POrd (NonEmpty a) Source # | |
POrd (Either a b) Source # | |
POrd (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 #
sCompare :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t :: Ordering) Source #
(%<) :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t :: Bool) infix 4 Source #
(%<=) :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t :: Bool) infix 4 Source #
(%>) :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t :: Bool) infix 4 Source #
(%>=) :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t :: Bool) infix 4 Source #
sMax :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t :: a) Source #
sMin :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t :: a) Source #
sCompare :: forall (t :: a) (t :: a). ((Apply (Apply CompareSym0 t) t :: Ordering) ~ Apply (Apply Compare_6989586621679325222Sym0 t) t) => Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t :: Ordering) Source #
(%<) :: forall (t :: a) (t :: a). ((Apply (Apply (<@#@$) t) t :: Bool) ~ Apply (Apply TFHelper_6989586621679325255Sym0 t) t) => Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t :: Bool) infix 4 Source #
(%<=) :: forall (t :: a) (t :: a). ((Apply (Apply (<=@#@$) t) t :: Bool) ~ Apply (Apply TFHelper_6989586621679325288Sym0 t) t) => Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t :: Bool) infix 4 Source #
(%>) :: forall (t :: a) (t :: a). ((Apply (Apply (>@#@$) t) t :: Bool) ~ Apply (Apply TFHelper_6989586621679325321Sym0 t) t) => Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t :: Bool) infix 4 Source #
(%>=) :: forall (t :: a) (t :: a). ((Apply (Apply (>=@#@$) t) t :: Bool) ~ Apply (Apply TFHelper_6989586621679325354Sym0 t) t) => Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t :: Bool) infix 4 Source #
sMax :: forall (t :: a) (t :: a). ((Apply (Apply MaxSym0 t) t :: a) ~ Apply (Apply Max_6989586621679325387Sym0 t) t) => Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t :: a) Source #
sMin :: forall (t :: a) (t :: a). ((Apply (Apply MinSym0 t) t :: a) ~ Apply (Apply Min_6989586621679325420Sym0 t) t) => Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t :: a) Source #
Instances
sComparing :: forall (t :: TyFun b a -> Type) (t :: b) (t :: b). SOrd a => Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ComparingSym0 t) t) t :: Ordering) Source #
sThenCmp :: forall (t :: Ordering) (t :: Ordering). Sing t -> Sing t -> Sing (Apply (Apply ThenCmpSym0 t) t :: Ordering) Source #
data family Sing (a :: k) Source #
The singleton kind-indexed data family.
Instances
Defunctionalization symbols
data ThenCmpSym0 (l :: TyFun Ordering (TyFun Ordering Ordering -> Type)) Source #
Instances
SuppressUnusedWarnings ThenCmpSym0 Source # | |
Defined in Data.Singletons.Prelude.Ord suppressUnusedWarnings :: () Source # | |
type Apply ThenCmpSym0 (l :: Ordering) Source # | |
Defined in Data.Singletons.Prelude.Ord |
data ThenCmpSym1 (l :: Ordering) (l :: TyFun Ordering Ordering) Source #
Instances
SuppressUnusedWarnings ThenCmpSym1 Source # | |
Defined in Data.Singletons.Prelude.Ord suppressUnusedWarnings :: () Source # | |
type Apply (ThenCmpSym1 l1 :: TyFun Ordering Ordering -> *) (l2 :: Ordering) Source # | |
Defined in Data.Singletons.Prelude.Ord |
data CompareSym0 (l :: TyFun a6989586621679323527 (TyFun a6989586621679323527 Ordering -> Type)) Source #
Instances
SuppressUnusedWarnings (CompareSym0 :: TyFun a6989586621679323527 (TyFun a6989586621679323527 Ordering -> Type) -> *) Source # | |
Defined in Data.Singletons.Prelude.Ord suppressUnusedWarnings :: () Source # | |
type Apply (CompareSym0 :: TyFun a6989586621679323527 (TyFun a6989586621679323527 Ordering -> Type) -> *) (l :: a6989586621679323527) Source # | |
Defined in Data.Singletons.Prelude.Ord type Apply (CompareSym0 :: TyFun a6989586621679323527 (TyFun a6989586621679323527 Ordering -> Type) -> *) (l :: a6989586621679323527) = CompareSym1 l |
data CompareSym1 (l :: a6989586621679323527) (l :: TyFun a6989586621679323527 Ordering) Source #
Instances
SuppressUnusedWarnings (CompareSym1 :: a6989586621679323527 -> TyFun a6989586621679323527 Ordering -> *) Source # | |
Defined in Data.Singletons.Prelude.Ord suppressUnusedWarnings :: () Source # | |
type Apply (CompareSym1 l1 :: TyFun a Ordering -> *) (l2 :: a) Source # | |
Defined in Data.Singletons.Prelude.Ord |
type CompareSym2 (t :: a6989586621679323527) (t :: a6989586621679323527) = Compare t t Source #
data (<@#@$) (l :: TyFun a6989586621679323527 (TyFun a6989586621679323527 Bool -> Type)) Source #
Instances
SuppressUnusedWarnings ((<@#@$) :: TyFun a6989586621679323527 (TyFun a6989586621679323527 Bool -> Type) -> *) Source # | |
Defined in Data.Singletons.Prelude.Ord suppressUnusedWarnings :: () Source # | |
type Apply ((<@#@$) :: TyFun a6989586621679323527 (TyFun a6989586621679323527 Bool -> Type) -> *) (l :: a6989586621679323527) Source # | |
data (l :: a6989586621679323527) <@#@$$ (l :: TyFun a6989586621679323527 Bool) Source #
data (<=@#@$) (l :: TyFun a6989586621679323527 (TyFun a6989586621679323527 Bool -> Type)) Source #
Instances
SuppressUnusedWarnings ((<=@#@$) :: TyFun a6989586621679323527 (TyFun a6989586621679323527 Bool -> Type) -> *) Source # | |
Defined in Data.Singletons.Prelude.Ord suppressUnusedWarnings :: () Source # | |
type Apply ((<=@#@$) :: TyFun a6989586621679323527 (TyFun a6989586621679323527 Bool -> Type) -> *) (l :: a6989586621679323527) Source # | |
data (l :: a6989586621679323527) <=@#@$$ (l :: TyFun a6989586621679323527 Bool) Source #
type (<=@#@$$$) (t :: a6989586621679323527) (t :: a6989586621679323527) = (<=) t t Source #
data (>@#@$) (l :: TyFun a6989586621679323527 (TyFun a6989586621679323527 Bool -> Type)) Source #
Instances
SuppressUnusedWarnings ((>@#@$) :: TyFun a6989586621679323527 (TyFun a6989586621679323527 Bool -> Type) -> *) Source # | |
Defined in Data.Singletons.Prelude.Ord suppressUnusedWarnings :: () Source # | |
type Apply ((>@#@$) :: TyFun a6989586621679323527 (TyFun a6989586621679323527 Bool -> Type) -> *) (l :: a6989586621679323527) Source # | |
data (l :: a6989586621679323527) >@#@$$ (l :: TyFun a6989586621679323527 Bool) Source #
data (>=@#@$) (l :: TyFun a6989586621679323527 (TyFun a6989586621679323527 Bool -> Type)) Source #
Instances
SuppressUnusedWarnings ((>=@#@$) :: TyFun a6989586621679323527 (TyFun a6989586621679323527 Bool -> Type) -> *) Source # | |
Defined in Data.Singletons.Prelude.Ord suppressUnusedWarnings :: () Source # | |
type Apply ((>=@#@$) :: TyFun a6989586621679323527 (TyFun a6989586621679323527 Bool -> Type) -> *) (l :: a6989586621679323527) Source # | |
data (l :: a6989586621679323527) >=@#@$$ (l :: TyFun a6989586621679323527 Bool) Source #
type (>=@#@$$$) (t :: a6989586621679323527) (t :: a6989586621679323527) = (>=) t t Source #
data MaxSym0 (l :: TyFun a6989586621679323527 (TyFun a6989586621679323527 a6989586621679323527 -> Type)) Source #
Instances
SuppressUnusedWarnings (MaxSym0 :: TyFun a6989586621679323527 (TyFun a6989586621679323527 a6989586621679323527 -> Type) -> *) Source # | |
Defined in Data.Singletons.Prelude.Ord suppressUnusedWarnings :: () Source # | |
type Apply (MaxSym0 :: TyFun a6989586621679323527 (TyFun a6989586621679323527 a6989586621679323527 -> Type) -> *) (l :: a6989586621679323527) Source # | |
data MaxSym1 (l :: a6989586621679323527) (l :: TyFun a6989586621679323527 a6989586621679323527) Source #
data MinSym0 (l :: TyFun a6989586621679323527 (TyFun a6989586621679323527 a6989586621679323527 -> Type)) Source #
Instances
SuppressUnusedWarnings (MinSym0 :: TyFun a6989586621679323527 (TyFun a6989586621679323527 a6989586621679323527 -> Type) -> *) Source # | |
Defined in Data.Singletons.Prelude.Ord suppressUnusedWarnings :: () Source # | |
type Apply (MinSym0 :: TyFun a6989586621679323527 (TyFun a6989586621679323527 a6989586621679323527 -> Type) -> *) (l :: a6989586621679323527) Source # | |
data MinSym1 (l :: a6989586621679323527) (l :: TyFun a6989586621679323527 a6989586621679323527) Source #
data ComparingSym0 (l :: TyFun (TyFun b6989586621679323517 a6989586621679323516 -> Type) (TyFun b6989586621679323517 (TyFun b6989586621679323517 Ordering -> Type) -> Type)) Source #
Instances
SuppressUnusedWarnings (ComparingSym0 :: TyFun (TyFun b6989586621679323517 a6989586621679323516 -> Type) (TyFun b6989586621679323517 (TyFun b6989586621679323517 Ordering -> Type) -> Type) -> *) Source # | |
Defined in Data.Singletons.Prelude.Ord suppressUnusedWarnings :: () Source # | |
type Apply (ComparingSym0 :: TyFun (TyFun b6989586621679323517 a6989586621679323516 -> Type) (TyFun b6989586621679323517 (TyFun b6989586621679323517 Ordering -> Type) -> Type) -> *) (l :: TyFun b6989586621679323517 a6989586621679323516 -> Type) Source # | |
Defined in Data.Singletons.Prelude.Ord |
data ComparingSym1 (l :: TyFun b6989586621679323517 a6989586621679323516 -> Type) (l :: TyFun b6989586621679323517 (TyFun b6989586621679323517 Ordering -> Type)) Source #
Instances
SuppressUnusedWarnings (ComparingSym1 :: (TyFun b6989586621679323517 a6989586621679323516 -> Type) -> TyFun b6989586621679323517 (TyFun b6989586621679323517 Ordering -> Type) -> *) Source # | |
Defined in Data.Singletons.Prelude.Ord suppressUnusedWarnings :: () Source # | |
type Apply (ComparingSym1 l1 :: TyFun b6989586621679323517 (TyFun b6989586621679323517 Ordering -> Type) -> *) (l2 :: b6989586621679323517) Source # | |
Defined in Data.Singletons.Prelude.Ord type Apply (ComparingSym1 l1 :: TyFun b6989586621679323517 (TyFun b6989586621679323517 Ordering -> Type) -> *) (l2 :: b6989586621679323517) = ComparingSym2 l1 l2 |
data ComparingSym2 (l :: TyFun b6989586621679323517 a6989586621679323516 -> Type) (l :: b6989586621679323517) (l :: TyFun b6989586621679323517 Ordering) Source #
Instances
SuppressUnusedWarnings (ComparingSym2 :: (TyFun b6989586621679323517 a6989586621679323516 -> Type) -> b6989586621679323517 -> TyFun b6989586621679323517 Ordering -> *) Source # | |
Defined in Data.Singletons.Prelude.Ord suppressUnusedWarnings :: () Source # | |
type Apply (ComparingSym2 l1 l2 :: TyFun b Ordering -> *) (l3 :: b) Source # | |
Defined in Data.Singletons.Prelude.Ord |