Copyright | (C) 2014 Richard Eisenberg |
---|---|
License | BSD-style (see LICENSE) |
Maintainer | Richard Eisenberg (eir@cis.upenn.edu) |
Stability | experimental |
Portability | non-portable |
Safe Haskell | None |
Language | Haskell2010 |
Defines and exports promoted and singleton versions of definitions from GHC.Num.
- class (kproxy ~ KProxy) => PNum kproxy where
- class (kproxy ~ KProxy) => SNum kproxy where
- (%:+) :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply (:+$) t) t :: a)
- (%:-) :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply (:-$) t) t :: a)
- (%:*) :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply (:*$) t) t :: a)
- sNegate :: forall t. Sing t -> Sing (Apply NegateSym0 t :: a)
- sAbs :: forall t. Sing t -> Sing (Apply AbsSym0 t :: a)
- sSignum :: forall t. Sing t -> Sing (Apply SignumSym0 t :: a)
- sFromInteger :: forall t. Sing t -> Sing (Apply FromIntegerSym0 t :: a)
- type family Subtract a a :: a
- sSubtract :: forall t t. SNum (KProxy :: KProxy a) => Sing t -> Sing t -> Sing (Apply (Apply SubtractSym0 t) t :: a)
- 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 NegateSym0 l
- type NegateSym1 t = Negate t
- data AbsSym0 l
- type AbsSym1 t = Abs t
- data SignumSym0 l
- type SignumSym1 t = Signum t
- data FromIntegerSym0 l
- type FromIntegerSym1 t = FromInteger t
- data SubtractSym0 l
- data SubtractSym1 l l
- type SubtractSym2 t t = Subtract t t
Documentation
class (kproxy ~ KProxy) => SNum kproxy where Source
(%:+) :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply (:+$) t) t :: a) infixl 6 Source
(%:-) :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply (:-$) t) t :: a) infixl 6 Source
(%:*) :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply (:*$) t) t :: a) infixl 7 Source
sNegate :: forall t. Sing t -> Sing (Apply NegateSym0 t :: a) Source
sAbs :: forall t. Sing t -> Sing (Apply AbsSym0 t :: a) Source
sSignum :: forall t. Sing t -> Sing (Apply SignumSym0 t :: a) Source
sFromInteger :: forall t. Sing t -> Sing (Apply FromIntegerSym0 t :: a) Source
sSubtract :: forall t t. SNum (KProxy :: KProxy a) => Sing t -> Sing t -> Sing (Apply (Apply SubtractSym0 t) t :: a) Source
Defunctionalization symbols
data NegateSym0 l Source
SuppressUnusedWarnings (TyFun k k -> *) (NegateSym0 k) Source | |
type Apply k k (NegateSym0 k) l0 = NegateSym1 k l0 Source |
type NegateSym1 t = Negate t Source
data SignumSym0 l Source
SuppressUnusedWarnings (TyFun k k -> *) (SignumSym0 k) Source | |
type Apply k k (SignumSym0 k) l0 = SignumSym1 k l0 Source |
type SignumSym1 t = Signum t Source
data FromIntegerSym0 l Source
SuppressUnusedWarnings (TyFun Nat k -> *) (FromIntegerSym0 k) Source | |
type Apply k Nat (FromIntegerSym0 k) l0 = FromIntegerSym1 k l0 Source |
type FromIntegerSym1 t = FromInteger t Source
data SubtractSym0 l Source
SuppressUnusedWarnings (TyFun k (TyFun k k -> *) -> *) (SubtractSym0 k) Source | |
type Apply (TyFun k k -> *) k (SubtractSym0 k) l0 = SubtractSym1 k l0 Source |
data SubtractSym1 l l Source
SuppressUnusedWarnings (k -> TyFun k k -> *) (SubtractSym1 k) Source | |
type Apply k k (SubtractSym1 k l1) l0 = SubtractSym2 k l1 l0 Source |
type SubtractSym2 t t = Subtract t t Source