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 ~ Proxy) => PNum kproxy where
- class SNum a where
- type family Subtract (a :: a) (a :: a) :: a where ...
- sSubtract :: forall t t. SNum 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 ~ Proxy) => PNum kproxy Source #
type (arg :: a) :+ (arg :: a) :: a infixl 6 Source #
type (arg :: a) :- (arg :: a) :: a infixl 6 Source #
type (arg :: a) :* (arg :: a) :: a infixl 7 Source #
type Negate (arg :: a) :: a Source #
type Abs (arg :: a) :: a Source #
type Signum (arg :: a) :: a Source #
type FromInteger (arg :: Nat) :: a 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 #
(%:-) :: forall t t. (Apply (Apply (:-$) t) t ~ Apply (Apply TFHelper_1627817280Sym0 t) t) => Sing t -> Sing t -> Sing (Apply (Apply (:-$) t) t :: a) infixl 6 Source #
sNegate :: forall t. (Apply NegateSym0 t ~ Apply Negate_1627817295Sym0 t) => Sing t -> Sing (Apply NegateSym0 t :: a) Source #
sSubtract :: forall t t. SNum a => Sing t -> Sing t -> Sing (Apply (Apply SubtractSym0 t) t :: a) Source #
Defunctionalization symbols
data NegateSym0 l Source #
SuppressUnusedWarnings (TyFun a1627817219 a1627817219 -> *) (NegateSym0 a1627817219) Source # | |
type Apply a1627817219 a1627817219 (NegateSym0 a1627817219) l0 Source # | |
type NegateSym1 t = Negate t Source #
data SignumSym0 l Source #
SuppressUnusedWarnings (TyFun a1627817219 a1627817219 -> *) (SignumSym0 a1627817219) Source # | |
type Apply a1627817219 a1627817219 (SignumSym0 a1627817219) l0 Source # | |
type SignumSym1 t = Signum t Source #
data FromIntegerSym0 l Source #
SuppressUnusedWarnings (TyFun Nat a1627817219 -> *) (FromIntegerSym0 a1627817219) Source # | |
type Apply Nat k2 (FromIntegerSym0 k2) l0 Source # | |
type FromIntegerSym1 t = FromInteger t Source #
data SubtractSym0 l Source #
SuppressUnusedWarnings (TyFun a1627819601 (TyFun a1627819601 a1627819601 -> Type) -> *) (SubtractSym0 a1627819601) Source # | |
type Apply a1627819601 (TyFun a1627819601 a1627819601 -> Type) (SubtractSym0 a1627819601) l0 Source # | |
data SubtractSym1 l l Source #
SuppressUnusedWarnings (a1627819601 -> TyFun a1627819601 a1627819601 -> *) (SubtractSym1 a1627819601) Source # | |
type Apply a1627819601 a1627819601 (SubtractSym1 a1627819601 l1) l0 Source # | |
type SubtractSym2 t t = Subtract t t Source #