symantic-lib-0.0.4.20180831: 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 View Source # 
Instance details

Defined in Language.Symantic.Lib.Num

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 Eval Source # 
Instance details

Defined in Language.Symantic.Lib.Num

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 term, Sym_Lambda term) => Sym_Num (BetaT term) Source # 
Instance details

Defined in Language.Symantic.Lib.Num

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 # 
Instance details

Defined in Language.Symantic.Lib.Num

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 Num Source # 
Instance details

Methods

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

TypeInstancesFor Num Source # 
Instance details

Methods

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

NameTyOf Num Source # 
Instance details

Methods

nameTyOf :: proxy Num -> Mod NameTy #

isNameTyOp :: proxy Num -> Bool #

FixityOf Num Source # 
Instance details

Methods

fixityOf :: proxy Num -> Maybe Fixity #

(Source src, SymInj ss Num) => ModuleFor src ss Num Source # 
Instance details

Methods

moduleFor :: (PathMod, Module src ss) #

Gram_Term_AtomsFor src ss g Num Source # 
Instance details

Methods

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