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 (kproxy ~ KProxy, SEq (KProxy :: KProxy a)) => SOrd kproxy where
- sCompare :: forall x y. Sing x -> Sing y -> Sing (Compare x y)
- (%:<) :: forall x y. Sing x -> Sing y -> Sing (x :< y)
- (%:<=) :: forall x y. Sing x -> Sing y -> Sing (x :<= y)
- (%:>) :: forall x y. Sing x -> Sing y -> Sing (x :> y)
- (%:>=) :: forall x y. Sing x -> Sing y -> Sing (x :>= y)
- sMax :: forall x y. Sing x -> Sing y -> Sing (Max x y)
- sMin :: forall x y. Sing x -> Sing y -> Sing (Min x y)
- thenCmp :: Ordering -> Ordering -> Ordering
- type family ThenCmp a a :: Ordering
- sThenCmp :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply ThenCmpSym0 t) t)
- 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 Source
type arg :>= arg :: Bool Source
type arg :> arg :: Bool Source
POrd Bool (KProxy Bool) | |
POrd Ordering (KProxy Ordering) | |
POrd Nat (KProxy Nat) | |
POrd Symbol (KProxy Symbol) | |
POrd () (KProxy ()) | |
POrd [k] (KProxy [k]) | |
POrd (Maybe k) (KProxy (Maybe k)) | |
POrd (Either k k) (KProxy (Either k k)) | |
POrd ((,) k k) (KProxy ((,) k k)) | |
POrd ((,,) k k k) (KProxy ((,,) k k k)) | |
POrd ((,,,) k k k k) (KProxy ((,,,) k k k k)) | |
POrd ((,,,,) k k k k k) (KProxy ((,,,,) k k k k k)) | |
POrd ((,,,,,) k k k k k k) (KProxy ((,,,,,) k k k k k k)) | |
POrd ((,,,,,,) k k k k k k k) (KProxy ((,,,,,,) k k k k k k k)) |
class (kproxy ~ KProxy, SEq (KProxy :: KProxy a)) => SOrd kproxy where Source
Nothing
sCompare :: forall x y. Sing x -> Sing y -> Sing (Compare x y) Source
(%:<) :: forall x y. Sing x -> Sing y -> Sing (x :< y) Source
(%:<=) :: forall x y. Sing x -> Sing y -> Sing (x :<= y) Source
(%:>) :: forall x y. Sing x -> Sing y -> Sing (x :> y) Source
(%:>=) :: forall x y. Sing x -> Sing y -> Sing (x :>= y) Source
sMax :: forall x y. Sing x -> Sing y -> Sing (Max x y) Source
sMin :: forall x y. Sing x -> Sing y -> Sing (Min x y) Source
The singleton kind-indexed data family.
TestCoercion * (Sing *) | |
SDecide k (KProxy k) => TestEquality k (Sing k) | |
data Sing Bool where | |
data Sing Ordering where | |
data Sing * where | |
data Sing Nat where | |
data Sing Symbol where
| |
data Sing () where | |
data Sing [a0] where | |
data Sing (Maybe a0) where | |
data Sing (TyFun k1 k2 -> *) = SLambda {} | |
data Sing (Either a0 b0) where | |
data Sing ((,) a0 b0) where | |
data Sing ((,,) a0 b0 c0) where | |
data Sing ((,,,) a0 b0 c0 d0) where | |
data Sing ((,,,,) a0 b0 c0 d0 e0) where | |
data Sing ((,,,,,) a0 b0 c0 d0 e0 f0) where | |
data Sing ((,,,,,,) a0 b0 c0 d0 e0 f0 g0) where |
Defunctionalization symbols
data ThenCmpSym0 l Source
SuppressUnusedWarnings (TyFun Ordering (TyFun Ordering Ordering -> *) -> *) ThenCmpSym0 | |
type Apply (TyFun Ordering Ordering -> *) Ordering ThenCmpSym0 l0 = ThenCmpSym1 l0 |
data ThenCmpSym1 l l Source
SuppressUnusedWarnings (Ordering -> TyFun Ordering Ordering -> *) ThenCmpSym1 | |
type Apply Ordering Ordering (ThenCmpSym1 l1) l0 = ThenCmpSym2 l1 l0 |
type ThenCmpSym2 t t = ThenCmp t t Source
data CompareSym0 l Source
SuppressUnusedWarnings (TyFun k (TyFun k Ordering -> *) -> *) (CompareSym0 k) | |
type Apply (TyFun k Ordering -> *) k (CompareSym0 k) l0 = CompareSym1 k l0 |
data CompareSym1 l l Source
SuppressUnusedWarnings (k -> TyFun k Ordering -> *) (CompareSym1 k) | |
type Apply Ordering k (CompareSym1 k l1) l0 = CompareSym2 k l1 l0 |
type CompareSym2 t t = Compare t t Source