singletons-2.3.1: A framework for generating singleton types

Copyright(C) 2014 Richard Eisenberg
LicenseBSD-style (see LICENSE)
MaintainerRichard Eisenberg (rae@cs.brynmawr.edu)
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Data.Promotion.Prelude.Num

Contents

Description

Defines and exports promoted and singleton versions of definitions from GHC.Num.

Synopsis

Documentation

class PNum (a :: Type) Source #

Associated Types

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 #

Instances

PNum Nat Source # 

Associated Types

type (Nat :+ (arg :: Nat)) (arg :: Nat) :: a Source #

type (Nat :- (arg :: Nat)) (arg :: Nat) :: a Source #

type (Nat :* (arg :: Nat)) (arg :: Nat) :: a Source #

type Negate Nat (arg :: Nat) :: a Source #

type Abs Nat (arg :: Nat) :: a Source #

type Signum Nat (arg :: Nat) :: a Source #

type FromInteger Nat (arg :: Nat) :: a Source #

type family Subtract (a :: a) (a :: a) :: a where ... Source #

Equations

Subtract x y = Apply (Apply (:-$) y) x 

Defunctionalization symbols

data (:+$) (l :: TyFun a6989586621679410509 (TyFun a6989586621679410509 a6989586621679410509 -> Type)) Source #

Instances

SuppressUnusedWarnings (TyFun a6989586621679410509 (TyFun a6989586621679410509 a6989586621679410509 -> Type) -> *) ((:+$) a6989586621679410509) Source # 

Methods

suppressUnusedWarnings :: Proxy ((:+$) a6989586621679410509) t -> () Source #

type Apply a6989586621679410509 (TyFun a6989586621679410509 a6989586621679410509 -> Type) ((:+$) a6989586621679410509) l Source # 
type Apply a6989586621679410509 (TyFun a6989586621679410509 a6989586621679410509 -> Type) ((:+$) a6989586621679410509) l = (:+$$) a6989586621679410509 l

data (l :: a6989586621679410509) :+$$ (l :: TyFun a6989586621679410509 a6989586621679410509) Source #

Instances

SuppressUnusedWarnings (a6989586621679410509 -> TyFun a6989586621679410509 a6989586621679410509 -> *) ((:+$$) a6989586621679410509) Source # 

Methods

suppressUnusedWarnings :: Proxy ((:+$$) a6989586621679410509) t -> () Source #

type Apply a a ((:+$$) a l1) l2 Source # 
type Apply a a ((:+$$) a l1) l2 = (:+) a l1 l2

type (:+$$$) (t :: a6989586621679410509) (t :: a6989586621679410509) = (:+) t t Source #

data (:-$) (l :: TyFun a6989586621679410509 (TyFun a6989586621679410509 a6989586621679410509 -> Type)) Source #

Instances

SuppressUnusedWarnings (TyFun a6989586621679410509 (TyFun a6989586621679410509 a6989586621679410509 -> Type) -> *) ((:-$) a6989586621679410509) Source # 

Methods

suppressUnusedWarnings :: Proxy ((:-$) a6989586621679410509) t -> () Source #

type Apply a6989586621679410509 (TyFun a6989586621679410509 a6989586621679410509 -> Type) ((:-$) a6989586621679410509) l Source # 
type Apply a6989586621679410509 (TyFun a6989586621679410509 a6989586621679410509 -> Type) ((:-$) a6989586621679410509) l = (:-$$) a6989586621679410509 l

data (l :: a6989586621679410509) :-$$ (l :: TyFun a6989586621679410509 a6989586621679410509) Source #

Instances

SuppressUnusedWarnings (a6989586621679410509 -> TyFun a6989586621679410509 a6989586621679410509 -> *) ((:-$$) a6989586621679410509) Source # 

Methods

suppressUnusedWarnings :: Proxy ((:-$$) a6989586621679410509) t -> () Source #

type Apply a a ((:-$$) a l1) l2 Source # 
type Apply a a ((:-$$) a l1) l2 = (:-) a l1 l2

type (:-$$$) (t :: a6989586621679410509) (t :: a6989586621679410509) = (:-) t t Source #

data (:*$) (l :: TyFun a6989586621679410509 (TyFun a6989586621679410509 a6989586621679410509 -> Type)) Source #

Instances

SuppressUnusedWarnings (TyFun a6989586621679410509 (TyFun a6989586621679410509 a6989586621679410509 -> Type) -> *) ((:*$) a6989586621679410509) Source # 

Methods

suppressUnusedWarnings :: Proxy ((:*$) a6989586621679410509) t -> () Source #

type Apply a6989586621679410509 (TyFun a6989586621679410509 a6989586621679410509 -> Type) ((:*$) a6989586621679410509) l Source # 
type Apply a6989586621679410509 (TyFun a6989586621679410509 a6989586621679410509 -> Type) ((:*$) a6989586621679410509) l = (:*$$) a6989586621679410509 l

data (l :: a6989586621679410509) :*$$ (l :: TyFun a6989586621679410509 a6989586621679410509) Source #

Instances

SuppressUnusedWarnings (a6989586621679410509 -> TyFun a6989586621679410509 a6989586621679410509 -> *) ((:*$$) a6989586621679410509) Source # 

Methods

suppressUnusedWarnings :: Proxy ((:*$$) a6989586621679410509) t -> () Source #

type Apply a a ((:*$$) a l1) l2 Source # 
type Apply a a ((:*$$) a l1) l2 = (:*) a l1 l2

type (:*$$$) (t :: a6989586621679410509) (t :: a6989586621679410509) = (:*) t t Source #

data NegateSym0 (l :: TyFun a6989586621679410509 a6989586621679410509) Source #

Instances

SuppressUnusedWarnings (TyFun a6989586621679410509 a6989586621679410509 -> *) (NegateSym0 a6989586621679410509) Source # 

Methods

suppressUnusedWarnings :: Proxy (NegateSym0 a6989586621679410509) t -> () Source #

type Apply a a (NegateSym0 a) l Source # 
type Apply a a (NegateSym0 a) l = Negate a l

type NegateSym1 (t :: a6989586621679410509) = Negate t Source #

data AbsSym0 (l :: TyFun a6989586621679410509 a6989586621679410509) Source #

Instances

SuppressUnusedWarnings (TyFun a6989586621679410509 a6989586621679410509 -> *) (AbsSym0 a6989586621679410509) Source # 

Methods

suppressUnusedWarnings :: Proxy (AbsSym0 a6989586621679410509) t -> () Source #

type Apply a a (AbsSym0 a) l Source # 
type Apply a a (AbsSym0 a) l = Abs a l

type AbsSym1 (t :: a6989586621679410509) = Abs t Source #

data SignumSym0 (l :: TyFun a6989586621679410509 a6989586621679410509) Source #

Instances

SuppressUnusedWarnings (TyFun a6989586621679410509 a6989586621679410509 -> *) (SignumSym0 a6989586621679410509) Source # 

Methods

suppressUnusedWarnings :: Proxy (SignumSym0 a6989586621679410509) t -> () Source #

type Apply a a (SignumSym0 a) l Source # 
type Apply a a (SignumSym0 a) l = Signum a l

type SignumSym1 (t :: a6989586621679410509) = Signum t Source #

data FromIntegerSym0 (l :: TyFun Nat a6989586621679410509) Source #

Instances

SuppressUnusedWarnings (TyFun Nat a6989586621679410509 -> *) (FromIntegerSym0 a6989586621679410509) Source # 

Methods

suppressUnusedWarnings :: Proxy (FromIntegerSym0 a6989586621679410509) t -> () Source #

type Apply Nat k2 (FromIntegerSym0 k2) l Source # 
type Apply Nat k2 (FromIntegerSym0 k2) l = FromInteger k2 l

data SubtractSym0 (l :: TyFun a6989586621679412800 (TyFun a6989586621679412800 a6989586621679412800 -> Type)) Source #

Instances

SuppressUnusedWarnings (TyFun a6989586621679412800 (TyFun a6989586621679412800 a6989586621679412800 -> Type) -> *) (SubtractSym0 a6989586621679412800) Source # 

Methods

suppressUnusedWarnings :: Proxy (SubtractSym0 a6989586621679412800) t -> () Source #

type Apply a6989586621679412800 (TyFun a6989586621679412800 a6989586621679412800 -> Type) (SubtractSym0 a6989586621679412800) l Source # 
type Apply a6989586621679412800 (TyFun a6989586621679412800 a6989586621679412800 -> Type) (SubtractSym0 a6989586621679412800) l = SubtractSym1 a6989586621679412800 l

data SubtractSym1 (l :: a6989586621679412800) (l :: TyFun a6989586621679412800 a6989586621679412800) Source #

Instances

SuppressUnusedWarnings (a6989586621679412800 -> TyFun a6989586621679412800 a6989586621679412800 -> *) (SubtractSym1 a6989586621679412800) Source # 

Methods

suppressUnusedWarnings :: Proxy (SubtractSym1 a6989586621679412800) t -> () Source #

type Apply a a (SubtractSym1 a l1) l2 Source # 
type Apply a a (SubtractSym1 a l1) l2 = Subtract a l1 l2

type SubtractSym2 (t :: a6989586621679412800) (t :: a6989586621679412800) = Subtract t t Source #