symantic-lib-0.0.2.20170703: Symantics for common types.

Safe HaskellNone
LanguageHaskell2010

Language.Symantic.Lib.Num

Contents

Description

Symantic for Num.

Synopsis

Class Sym_Num

class Sym_Num term where Source #

Methods

abs :: Num n => term n -> term n Source #

negate :: Num n => term n -> term n Source #

signum :: Num n => term n -> term n Source #

(+) :: Num n => term n -> term n -> term n infixl 6 Source #

(-) :: Num n => term n -> term n -> term n infixl 6 Source #

(*) :: Num n => term n -> term n -> term n infixl 7 Source #

fromInteger :: Num n => term Integer -> term n Source #

abs :: Sym_Num (UnT term) => Trans term => Num n => term n -> term n Source #

negate :: Sym_Num (UnT term) => Trans term => Num n => term n -> term n Source #

signum :: Sym_Num (UnT term) => Trans term => Num n => term n -> term n Source #

(+) :: Sym_Num (UnT term) => Trans term => Num n => term n -> term n -> term n infixl 6 Source #

(-) :: Sym_Num (UnT term) => Trans term => Num n => term n -> term n -> term n infixl 6 Source #

(*) :: Sym_Num (UnT term) => Trans term => Num n => term n -> term n -> term n infixl 7 Source #

fromInteger :: Sym_Num (UnT term) => Trans term => Num n => term Integer -> term n Source #

Instances

Sym_Num Eval Source # 

Methods

abs :: Num n => Eval n -> Eval n Source #

negate :: Num n => Eval n -> Eval n Source #

signum :: Num n => Eval n -> Eval n Source #

(+) :: Num n => Eval n -> Eval n -> Eval n Source #

(-) :: Num n => Eval n -> Eval n -> Eval n Source #

(*) :: Num n => Eval n -> Eval n -> Eval n Source #

fromInteger :: Num n => Eval Integer -> Eval n Source #

Sym_Num View Source # 

Methods

abs :: Num n => View n -> View n Source #

negate :: Num n => View n -> View n Source #

signum :: Num n => View n -> View n Source #

(+) :: Num n => View n -> View n -> View n Source #

(-) :: Num n => View n -> View n -> View n Source #

(*) :: Num n => View n -> View n -> View n Source #

fromInteger :: Num n => View Integer -> View n Source #

(Sym_Num term, Sym_Lambda term) => Sym_Num (BetaT term) Source # 

Methods

abs :: Num n => BetaT term n -> BetaT term n Source #

negate :: Num n => BetaT term n -> BetaT term n Source #

signum :: Num n => BetaT term n -> BetaT term n Source #

(+) :: Num n => BetaT term n -> BetaT term n -> BetaT term n Source #

(-) :: Num n => BetaT term n -> BetaT term n -> BetaT term n Source #

(*) :: Num n => BetaT term n -> BetaT term n -> BetaT term n Source #

fromInteger :: Num n => BetaT term Integer -> BetaT term n Source #

(Sym_Num r1, Sym_Num r2) => Sym_Num (Dup r1 r2) Source # 

Methods

abs :: Num n => Dup r1 r2 n -> Dup r1 r2 n Source #

negate :: Num n => Dup r1 r2 n -> Dup r1 r2 n Source #

signum :: Num n => Dup r1 r2 n -> Dup r1 r2 n Source #

(+) :: Num n => Dup r1 r2 n -> Dup r1 r2 n -> Dup r1 r2 n Source #

(-) :: Num n => Dup r1 r2 n -> Dup r1 r2 n -> Dup r1 r2 n Source #

(*) :: Num n => Dup r1 r2 n -> Dup r1 r2 n -> Dup r1 r2 n Source #

fromInteger :: Num n => Dup r1 r2 Integer -> Dup r1 r2 n Source #

Types

tyNum :: Source src => Type src vs a -> Type src vs (Num a) Source #

Terms

teNum_abs :: TermDef Num '[Proxy a] (Num a #> (a -> a)) Source #

teNum_negate :: TermDef Num '[Proxy a] (Num a #> (a -> a)) Source #

teNum_signum :: TermDef Num '[Proxy a] (Num a #> (a -> a)) Source #

teNum_add :: TermDef Num '[Proxy a] (Num a #> (a -> a -> a)) Source #

teNum_sub :: TermDef Num '[Proxy a] (Num a #> (a -> a -> a)) Source #

teNum_mul :: TermDef Num '[Proxy a] (Num a #> (a -> a -> a)) Source #

Orphan instances

ClassInstancesFor (* -> Constraint) Num Source # 

Methods

proveConstraintFor :: Source src => proxy c -> Type Constraint src vs q -> Maybe (Qual q) #

TypeInstancesFor (* -> Constraint) Num Source # 

Methods

expandFamFor :: Source src => proxy c -> Len Type vs -> Const kt src fam -> Types src vs ts -> Maybe (Type kt src vs (Fam kt fam ts)) #

NameTyOf (* -> Constraint) Num Source # 

Methods

nameTyOf :: proxy c -> Mod NameTy #

isNameTyOp :: proxy c -> Bool #

FixityOf (* -> Constraint) Num Source # 

Methods

fixityOf :: proxy c -> Maybe Fixity #

(Source src, SymInj (* -> Constraint) ss Num) => ModuleFor (* -> Constraint) src ss Num Source # 

Methods

moduleFor :: (PathMod, Module ss Num) #

Gram_Term_AtomsFor (* -> Constraint) src ss g Num Source # 

Methods

g_term_atomsFor :: [CF Num (AST_Term ss g)] #