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 |
Data.Singletons.Prelude.Ord
Contents
- 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 a6989586621679269814 (TyFun a6989586621679269814 Ordering -> Type))
- data CompareSym1 (l :: a6989586621679269814) (l :: TyFun a6989586621679269814 Ordering)
- type CompareSym2 (t :: a6989586621679269814) (t :: a6989586621679269814) = Compare t t
- data (:<$) (l :: TyFun a6989586621679269814 (TyFun a6989586621679269814 Bool -> Type))
- data (l :: a6989586621679269814) :<$$ (l :: TyFun a6989586621679269814 Bool)
- type (:<$$$) (t :: a6989586621679269814) (t :: a6989586621679269814) = (:<) t t
- data (:<=$) (l :: TyFun a6989586621679269814 (TyFun a6989586621679269814 Bool -> Type))
- data (l :: a6989586621679269814) :<=$$ (l :: TyFun a6989586621679269814 Bool)
- type (:<=$$$) (t :: a6989586621679269814) (t :: a6989586621679269814) = (:<=) t t
- data (:>$) (l :: TyFun a6989586621679269814 (TyFun a6989586621679269814 Bool -> Type))
- data (l :: a6989586621679269814) :>$$ (l :: TyFun a6989586621679269814 Bool)
- type (:>$$$) (t :: a6989586621679269814) (t :: a6989586621679269814) = (:>) t t
- data (:>=$) (l :: TyFun a6989586621679269814 (TyFun a6989586621679269814 Bool -> Type))
- data (l :: a6989586621679269814) :>=$$ (l :: TyFun a6989586621679269814 Bool)
- type (:>=$$$) (t :: a6989586621679269814) (t :: a6989586621679269814) = (:>=) t t
- data MaxSym0 (l :: TyFun a6989586621679269814 (TyFun a6989586621679269814 a6989586621679269814 -> Type))
- data MaxSym1 (l :: a6989586621679269814) (l :: TyFun a6989586621679269814 a6989586621679269814)
- type MaxSym2 (t :: a6989586621679269814) (t :: a6989586621679269814) = Max t t
- data MinSym0 (l :: TyFun a6989586621679269814 (TyFun a6989586621679269814 a6989586621679269814 -> Type))
- data MinSym1 (l :: a6989586621679269814) (l :: TyFun a6989586621679269814 a6989586621679269814)
- type MinSym2 (t :: a6989586621679269814) (t :: a6989586621679269814) = Min t t
- data ComparingSym0 (l :: TyFun (TyFun b6989586621679269804 a6989586621679269803 -> Type) (TyFun b6989586621679269804 (TyFun b6989586621679269804 Ordering -> Type) -> Type))
- data ComparingSym1 (l :: TyFun b6989586621679269804 a6989586621679269803 -> Type) (l :: TyFun b6989586621679269804 (TyFun b6989586621679269804 Ordering -> Type))
- data ComparingSym2 (l :: TyFun b6989586621679269804 a6989586621679269803 -> Type) (l :: b6989586621679269804) (l :: TyFun b6989586621679269804 Ordering)
- type ComparingSym3 (t :: TyFun b6989586621679269804 a6989586621679269803 -> Type) (t :: b6989586621679269804) (t :: b6989586621679269804) = Comparing t t t
Documentation
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_6989586621679271520Sym0 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_6989586621679271553Sym0 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_6989586621679271586Sym0 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_6989586621679271619Sym0 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_6989586621679271652Sym0 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_6989586621679271685Sym0 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_6989586621679271718Sym0 t) t) => Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t :: a) #
Instances
SOrd Bool # | |
SOrd Ordering # | |
SOrd () # | |
(SOrd a, SOrd [a]) => SOrd [a] # | |
SOrd a => SOrd (Maybe a) # | |
(SOrd a, SOrd [a]) => SOrd (NonEmpty a) # | |
(SOrd a, SOrd b) => SOrd (Either a b) # | |
(SOrd a, SOrd b) => SOrd (a, b) # | |
(SOrd a, SOrd b, SOrd c) => SOrd (a, b, c) # | |
(SOrd a, SOrd b, SOrd c, SOrd d) => SOrd (a, b, c, d) # | |
(SOrd a, SOrd b, SOrd c, SOrd d, SOrd e) => SOrd (a, b, c, d, e) # | |
(SOrd a, SOrd b, SOrd c, SOrd d, SOrd e, SOrd f) => SOrd (a, b, c, d, e, f) # | |
(SOrd a, SOrd b, SOrd c, SOrd d, SOrd e, SOrd f, SOrd g) => SOrd (a, b, c, d, e, f, g) # | |
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) #
sThenCmp :: forall (t :: Ordering) (t :: Ordering). Sing t -> Sing t -> Sing (Apply (Apply ThenCmpSym0 t) t :: Ordering) #
The singleton kind-indexed data family.
Instances
data Sing Bool # | |
data Sing Ordering # | |
data Sing * # | |
data Sing Nat # | |
data Sing Symbol # | |
data Sing () # | |
data Sing [a] # | |
data Sing (Maybe a) # | |
data Sing (NonEmpty a) # | |
data Sing (Either a b) # | |
data Sing (a, b) # | |
data Sing ((~>) k1 k2) # | |
data Sing (a, b, c) # | |
data Sing (a, b, c, d) # | |
data Sing (a, b, c, d, e) # | |
data Sing (a, b, c, d, e, f) # | |
data Sing (a, b, c, d, e, f, g) # | |
Defunctionalization symbols
data ThenCmpSym1 (l :: Ordering) (l :: TyFun Ordering Ordering) #
Instances
SuppressUnusedWarnings (Ordering -> TyFun Ordering Ordering -> *) ThenCmpSym1 # | |
type Apply Ordering Ordering (ThenCmpSym1 l1) l2 # | |
type ThenCmpSym2 (t :: Ordering) (t :: Ordering) = ThenCmp t t #
data CompareSym0 (l :: TyFun a6989586621679269814 (TyFun a6989586621679269814 Ordering -> Type)) #
Instances
SuppressUnusedWarnings (TyFun a6989586621679269814 (TyFun a6989586621679269814 Ordering -> Type) -> *) (CompareSym0 a6989586621679269814) # | |
type Apply a6989586621679269814 (TyFun a6989586621679269814 Ordering -> Type) (CompareSym0 a6989586621679269814) l # | |
data CompareSym1 (l :: a6989586621679269814) (l :: TyFun a6989586621679269814 Ordering) #
Instances
SuppressUnusedWarnings (a6989586621679269814 -> TyFun a6989586621679269814 Ordering -> *) (CompareSym1 a6989586621679269814) # | |
type Apply a Ordering (CompareSym1 a l1) l2 # | |
type CompareSym2 (t :: a6989586621679269814) (t :: a6989586621679269814) = Compare t t #
data MaxSym0 (l :: TyFun a6989586621679269814 (TyFun a6989586621679269814 a6989586621679269814 -> Type)) #
data MinSym0 (l :: TyFun a6989586621679269814 (TyFun a6989586621679269814 a6989586621679269814 -> Type)) #
data ComparingSym0 (l :: TyFun (TyFun b6989586621679269804 a6989586621679269803 -> Type) (TyFun b6989586621679269804 (TyFun b6989586621679269804 Ordering -> Type) -> Type)) #
Instances
SuppressUnusedWarnings (TyFun (TyFun b6989586621679269804 a6989586621679269803 -> Type) (TyFun b6989586621679269804 (TyFun b6989586621679269804 Ordering -> Type) -> Type) -> *) (ComparingSym0 a6989586621679269803 b6989586621679269804) # | |
type Apply (TyFun b6989586621679269804 a6989586621679269803 -> Type) (TyFun b6989586621679269804 (TyFun b6989586621679269804 Ordering -> Type) -> Type) (ComparingSym0 a6989586621679269803 b6989586621679269804) l # | |
data ComparingSym1 (l :: TyFun b6989586621679269804 a6989586621679269803 -> Type) (l :: TyFun b6989586621679269804 (TyFun b6989586621679269804 Ordering -> Type)) #
Instances
SuppressUnusedWarnings ((TyFun b6989586621679269804 a6989586621679269803 -> Type) -> TyFun b6989586621679269804 (TyFun b6989586621679269804 Ordering -> Type) -> *) (ComparingSym1 a6989586621679269803 b6989586621679269804) # | |
type Apply b6989586621679269804 (TyFun b6989586621679269804 Ordering -> Type) (ComparingSym1 a6989586621679269803 b6989586621679269804 l1) l2 # | |
data ComparingSym2 (l :: TyFun b6989586621679269804 a6989586621679269803 -> Type) (l :: b6989586621679269804) (l :: TyFun b6989586621679269804 Ordering) #
Instances
SuppressUnusedWarnings ((TyFun b6989586621679269804 a6989586621679269803 -> Type) -> b6989586621679269804 -> TyFun b6989586621679269804 Ordering -> *) (ComparingSym2 a6989586621679269803 b6989586621679269804) # | |
type Apply b Ordering (ComparingSym2 a b l1 l2) l3 # | |
type ComparingSym3 (t :: TyFun b6989586621679269804 a6989586621679269803 -> Type) (t :: b6989586621679269804) (t :: b6989586621679269804) = Comparing t t t #