Copyright | (C) 2013 Richard Eisenberg |
---|---|
License | BSD-style (see LICENSE) |
Maintainer | Richard Eisenberg (eir@cis.upenn.edu) |
Stability | experimental |
Portability | non-portable |
Safe Haskell | None |
Language | Haskell2010 |
- class (PEq (KProxy :: KProxy a), kproxy ~ KProxy) => POrd kproxy where
- class (SEq (KProxy :: KProxy a), kproxy ~ KProxy) => SOrd kproxy where
- sCompare :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t :: Ordering)
- (%:<) :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply (:<$) t) t :: Bool)
- (%:<=) :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply (:<=$) t) t :: Bool)
- (%:>) :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply (:>$) t) t :: Bool)
- (%:>=) :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply (:>=$) t) t :: Bool)
- sMax :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t :: a)
- sMin :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t :: a)
- thenCmp :: Ordering -> Ordering -> Ordering
- type family ThenCmp a a :: Ordering
- sThenCmp :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply ThenCmpSym0 t) t :: Ordering)
- data family Sing a
- data ThenCmpSym0 l
- data ThenCmpSym1 l l
- type ThenCmpSym2 t t = ThenCmp t t
- type LTSym0 = LT
- type EQSym0 = EQ
- type GTSym0 = GT
- data CompareSym0 l
- data CompareSym1 l l
- type CompareSym2 t t = Compare t t
- data (:<$) l
- data l :<$$ l
- type (:<$$$) t t = (:<) t t
- data (:<=$) l
- data l :<=$$ l
- type (:<=$$$) t t = (:<=) t t
- data (:>$) l
- data l :>$$ l
- type (:>$$$) t t = (:>) t t
- data (:>=$) l
- data l :>=$$ l
- type (:>=$$$) t t = (:>=) t t
- data MaxSym0 l
- data MaxSym1 l l
- type MaxSym2 t t = Max t t
- data MinSym0 l
- data MinSym1 l l
- type MinSym2 t t = Min t t
Documentation
class (PEq (KProxy :: KProxy a), kproxy ~ KProxy) => POrd kproxy Source
type Compare arg arg :: Ordering Source
type arg :< arg :: Bool infix 4 Source
type arg :<= arg :: Bool infix 4 Source
type arg :> arg :: Bool infix 4 Source
POrd Bool (KProxy Bool) Source | |
POrd Ordering (KProxy Ordering) Source | |
POrd () (KProxy ()) Source | |
POrd [a] (KProxy [a]) Source | |
POrd (Maybe a) (KProxy (Maybe a)) Source | |
POrd (Either a b) (KProxy (Either a b)) Source | |
POrd ((,) a b) (KProxy ((,) a b)) Source | |
POrd ((,,) a b c) (KProxy ((,,) a b c)) Source | |
POrd ((,,,) a b c d) (KProxy ((,,,) a b c d)) Source | |
POrd ((,,,,) a b c d e) (KProxy ((,,,,) a b c d e)) Source | |
POrd ((,,,,,) a b c d e f) (KProxy ((,,,,,) a b c d e f)) Source | |
POrd ((,,,,,,) a b c d e f g) (KProxy ((,,,,,,) a b c d e f g)) Source |
class (SEq (KProxy :: KProxy a), kproxy ~ KProxy) => SOrd kproxy where Source
Nothing
sCompare :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t :: Ordering) Source
(%:<) :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply (:<$) t) t :: Bool) infix 4 Source
(%:<=) :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply (:<=$) t) t :: Bool) infix 4 Source
(%:>) :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply (:>$) t) t :: Bool) infix 4 Source
(%:>=) :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply (:>=$) t) t :: Bool) infix 4 Source
sMax :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t :: a) Source
sMin :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t :: a) Source
SOrd Bool (KProxy Bool) Source | |
SOrd Ordering (KProxy Ordering) Source | |
SOrd () (KProxy ()) Source | |
(SOrd a0 (KProxy a0), SOrd [a0] (KProxy [a0])) => SOrd [a] (KProxy [a]) Source | |
SOrd a0 (KProxy a0) => SOrd (Maybe a) (KProxy (Maybe a)) Source | |
(SOrd a0 (KProxy a0), SOrd b0 (KProxy b0)) => SOrd (Either a b) (KProxy (Either a b)) Source | |
(SOrd a0 (KProxy a0), SOrd b0 (KProxy b0)) => SOrd ((,) a b) (KProxy ((,) a b)) Source | |
(SOrd a0 (KProxy a0), SOrd b0 (KProxy b0), SOrd c0 (KProxy c0)) => SOrd ((,,) a b c) (KProxy ((,,) a b c)) Source | |
(SOrd a0 (KProxy a0), SOrd b0 (KProxy b0), SOrd c0 (KProxy c0), SOrd d0 (KProxy d0)) => SOrd ((,,,) a b c d) (KProxy ((,,,) a b c d)) Source | |
(SOrd a0 (KProxy a0), SOrd b0 (KProxy b0), SOrd c0 (KProxy c0), SOrd d0 (KProxy d0), SOrd e0 (KProxy e0)) => SOrd ((,,,,) a b c d e) (KProxy ((,,,,) a b c d e)) Source | |
(SOrd a0 (KProxy a0), SOrd b0 (KProxy b0), SOrd c0 (KProxy c0), SOrd d0 (KProxy d0), SOrd e0 (KProxy e0), SOrd f0 (KProxy f0)) => SOrd ((,,,,,) a b c d e f) (KProxy ((,,,,,) a b c d e f)) Source | |
(SOrd a0 (KProxy a0), SOrd b0 (KProxy b0), SOrd c0 (KProxy c0), SOrd d0 (KProxy d0), SOrd e0 (KProxy e0), SOrd f0 (KProxy f0), SOrd g0 (KProxy g0)) => SOrd ((,,,,,,) a b c d e f g) (KProxy ((,,,,,,) a b c d e f g)) Source |
The singleton kind-indexed data family.
data Sing Bool where Source | |
data Sing Ordering where Source | |
data Sing * where Source | |
data Sing Nat where Source | |
data Sing Symbol where
| |
data Sing () where Source | |
data Sing [a0] where Source | |
data Sing (Maybe a0) where Source | |
data Sing (TyFun k1 k2 -> *) = SLambda {} Source | |
data Sing (Either a0 b0) where Source | |
data Sing ((,) a0 b0) where Source | |
data Sing ((,,) a0 b0 c0) where Source | |
data Sing ((,,,) a0 b0 c0 d0) where Source | |
data Sing ((,,,,) a0 b0 c0 d0 e0) where Source | |
data Sing ((,,,,,) a0 b0 c0 d0 e0 f0) where Source | |
data Sing ((,,,,,,) a0 b0 c0 d0 e0 f0 g0) where Source |
Defunctionalization symbols
data ThenCmpSym0 l Source
SuppressUnusedWarnings (TyFun Ordering (TyFun Ordering Ordering -> *) -> *) ThenCmpSym0 Source | |
type Apply (TyFun Ordering Ordering -> *) Ordering ThenCmpSym0 l0 = ThenCmpSym1 l0 Source |
data ThenCmpSym1 l l Source
SuppressUnusedWarnings (Ordering -> TyFun Ordering Ordering -> *) ThenCmpSym1 Source | |
type Apply Ordering Ordering (ThenCmpSym1 l1) l0 = ThenCmpSym2 l1 l0 Source |
type ThenCmpSym2 t t = ThenCmp t t Source
data CompareSym0 l Source
SuppressUnusedWarnings (TyFun k (TyFun k Ordering -> *) -> *) (CompareSym0 k) Source | |
type Apply (TyFun k Ordering -> *) k (CompareSym0 k) l0 = CompareSym1 k l0 Source |
data CompareSym1 l l Source
SuppressUnusedWarnings (k -> TyFun k Ordering -> *) (CompareSym1 k) Source | |
type Apply Ordering k (CompareSym1 k l1) l0 = CompareSym2 k l1 l0 Source |
type CompareSym2 t t = Compare t t Source