symantic-lib-0.0.4.20180831: Symantics for common types.

Safe HaskellNone
LanguageHaskell2010

Language.Symantic.Lib.Integral

Contents

Description

Symantic for Integral.

Synopsis

Class Sym_Integral

class Sym_Integral term where Source #

Methods

quot :: Integral i => term i -> term i -> term i infixl 7 Source #

rem :: Integral i => term i -> term i -> term i infixl 7 Source #

div :: Integral i => term i -> term i -> term i infixl 7 Source #

mod :: Integral i => term i -> term i -> term i infixl 7 Source #

quotRem :: Integral i => term i -> term i -> term (i, i) Source #

divMod :: Integral i => term i -> term i -> term (i, i) Source #

toInteger :: Integral i => term i -> term Integer Source #

quot :: Sym_Integral (UnT term) => Trans term => Integral i => term i -> term i -> term i infixl 7 Source #

rem :: Sym_Integral (UnT term) => Trans term => Integral i => term i -> term i -> term i infixl 7 Source #

div :: Sym_Integral (UnT term) => Trans term => Integral i => term i -> term i -> term i infixl 7 Source #

mod :: Sym_Integral (UnT term) => Trans term => Integral i => term i -> term i -> term i infixl 7 Source #

quotRem :: Sym_Integral (UnT term) => Trans term => Integral i => term i -> term i -> term (i, i) Source #

divMod :: Sym_Integral (UnT term) => Trans term => Integral i => term i -> term i -> term (i, i) Source #

toInteger :: Sym_Integral (UnT term) => Trans term => Integral i => term i -> term Integer Source #

Instances
Sym_Integral View Source # 
Instance details

Defined in Language.Symantic.Lib.Integral

Methods

quot :: Integral i => View i -> View i -> View i Source #

rem :: Integral i => View i -> View i -> View i Source #

div :: Integral i => View i -> View i -> View i Source #

mod :: Integral i => View i -> View i -> View i Source #

quotRem :: Integral i => View i -> View i -> View (i, i) Source #

divMod :: Integral i => View i -> View i -> View (i, i) Source #

toInteger :: Integral i => View i -> View Integer Source #

Sym_Integral Eval Source # 
Instance details

Defined in Language.Symantic.Lib.Integral

Methods

quot :: Integral i => Eval i -> Eval i -> Eval i Source #

rem :: Integral i => Eval i -> Eval i -> Eval i Source #

div :: Integral i => Eval i -> Eval i -> Eval i Source #

mod :: Integral i => Eval i -> Eval i -> Eval i Source #

quotRem :: Integral i => Eval i -> Eval i -> Eval (i, i) Source #

divMod :: Integral i => Eval i -> Eval i -> Eval (i, i) Source #

toInteger :: Integral i => Eval i -> Eval Integer Source #

(Sym_Integral term, Sym_Lambda term) => Sym_Integral (BetaT term) Source # 
Instance details

Defined in Language.Symantic.Lib.Integral

Methods

quot :: Integral i => BetaT term i -> BetaT term i -> BetaT term i Source #

rem :: Integral i => BetaT term i -> BetaT term i -> BetaT term i Source #

div :: Integral i => BetaT term i -> BetaT term i -> BetaT term i Source #

mod :: Integral i => BetaT term i -> BetaT term i -> BetaT term i Source #

quotRem :: Integral i => BetaT term i -> BetaT term i -> BetaT term (i, i) Source #

divMod :: Integral i => BetaT term i -> BetaT term i -> BetaT term (i, i) Source #

toInteger :: Integral i => BetaT term i -> BetaT term Integer Source #

(Sym_Integral r1, Sym_Integral r2) => Sym_Integral (Dup r1 r2) Source # 
Instance details

Defined in Language.Symantic.Lib.Integral

Methods

quot :: Integral i => Dup r1 r2 i -> Dup r1 r2 i -> Dup r1 r2 i Source #

rem :: Integral i => Dup r1 r2 i -> Dup r1 r2 i -> Dup r1 r2 i Source #

div :: Integral i => Dup r1 r2 i -> Dup r1 r2 i -> Dup r1 r2 i Source #

mod :: Integral i => Dup r1 r2 i -> Dup r1 r2 i -> Dup r1 r2 i Source #

quotRem :: Integral i => Dup r1 r2 i -> Dup r1 r2 i -> Dup r1 r2 (i, i) Source #

divMod :: Integral i => Dup r1 r2 i -> Dup r1 r2 i -> Dup r1 r2 (i, i) Source #

toInteger :: Integral i => Dup r1 r2 i -> Dup r1 r2 Integer Source #

Types

tyIntegral :: Source src => Type src vs a -> Type src vs (Integral a) Source #

Terms

teIntegral_quotRem :: TermDef Integral '[Proxy a] (Integral a #> (a -> a -> (a, a))) Source #

teIntegral_divMod :: TermDef Integral '[Proxy a] (Integral a #> (a -> a -> (a, a))) Source #

Orphan instances

ClassInstancesFor Integral Source # 
Instance details

Methods

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

TypeInstancesFor Integral Source # 
Instance details

Methods

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

NameTyOf Integral Source # 
Instance details

Methods

nameTyOf :: proxy Integral -> Mod NameTy #

isNameTyOp :: proxy Integral -> Bool #

FixityOf Integral Source # 
Instance details

Methods

fixityOf :: proxy Integral -> Maybe Fixity #

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

Methods

moduleFor :: (PathMod, Module src ss) #

Gram_Term_AtomsFor src ss g Integral Source # 
Instance details

Methods

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