ideas-math-types-1.1: Common types for mathematical domain reasoners

Maintainerbastiaan.heeren@ou.nl
Stabilityprovisional
Portabilityportable (depends on ghc)
Safe HaskellNone
LanguageHaskell2010

Domain.Math.Expr.Data

Description

 

Documentation

data Expr Source #

Instances
Eq Expr Source # 
Instance details

Defined in Domain.Math.Expr.Data

Methods

(==) :: Expr -> Expr -> Bool #

(/=) :: Expr -> Expr -> Bool #

Floating Expr Source # 
Instance details

Defined in Domain.Math.Expr.Data

Methods

pi :: Expr #

exp :: Expr -> Expr #

log :: Expr -> Expr #

sqrt :: Expr -> Expr #

(**) :: Expr -> Expr -> Expr #

logBase :: Expr -> Expr -> Expr #

sin :: Expr -> Expr #

cos :: Expr -> Expr #

tan :: Expr -> Expr #

asin :: Expr -> Expr #

acos :: Expr -> Expr #

atan :: Expr -> Expr #

sinh :: Expr -> Expr #

cosh :: Expr -> Expr #

tanh :: Expr -> Expr #

asinh :: Expr -> Expr #

acosh :: Expr -> Expr #

atanh :: Expr -> Expr #

log1p :: Expr -> Expr #

expm1 :: Expr -> Expr #

log1pexp :: Expr -> Expr #

log1mexp :: Expr -> Expr #

Fractional Expr Source # 
Instance details

Defined in Domain.Math.Expr.Data

Methods

(/) :: Expr -> Expr -> Expr #

recip :: Expr -> Expr #

fromRational :: Rational -> Expr #

Num Expr Source # 
Instance details

Defined in Domain.Math.Expr.Data

Methods

(+) :: Expr -> Expr -> Expr #

(-) :: Expr -> Expr -> Expr #

(*) :: Expr -> Expr -> Expr #

negate :: Expr -> Expr #

abs :: Expr -> Expr #

signum :: Expr -> Expr #

fromInteger :: Integer -> Expr #

Ord Expr Source # 
Instance details

Defined in Domain.Math.Expr.Data

Methods

compare :: Expr -> Expr -> Ordering #

(<) :: Expr -> Expr -> Bool #

(<=) :: Expr -> Expr -> Bool #

(>) :: Expr -> Expr -> Bool #

(>=) :: Expr -> Expr -> Bool #

max :: Expr -> Expr -> Expr #

min :: Expr -> Expr -> Expr #

Read Expr Source # 
Instance details

Defined in Domain.Math.Expr.Parser

Show Expr Source # 
Instance details

Defined in Domain.Math.Expr.Data

Methods

showsPrec :: Int -> Expr -> ShowS #

show :: Expr -> String #

showList :: [Expr] -> ShowS #

Arbitrary Expr Source # 
Instance details

Defined in Domain.Math.Expr.Data

Methods

arbitrary :: Gen Expr #

shrink :: Expr -> [Expr] #

Different Expr Source # 
Instance details

Defined in Domain.Math.Expr.Data

Methods

different :: (Expr, Expr) #

Reference Expr Source # 
Instance details

Defined in Domain.Math.Expr.Parser

Methods

makeRef :: IsId n => n -> Ref Expr #

makeRefList :: IsId n => n -> Ref [Expr] #

IsTerm Expr Source # 
Instance details

Defined in Domain.Math.Expr.Data

Methods

toTerm :: Expr -> Term #

toTermList :: [Expr] -> Term #

fromTerm :: MonadPlus m => Term -> m Expr #

fromTermList :: MonadPlus m => Term -> m [Expr] #

WithFunctions Expr Source # 
Instance details

Defined in Domain.Math.Expr.Data

Methods

symbol :: Symbol -> Expr #

function :: Symbol -> [Expr] -> Expr #

getSymbol :: Monad m => Expr -> m Symbol #

getFunction :: Monad m => Expr -> m (Symbol, [Expr]) #

WithVars Expr Source # 
Instance details

Defined in Domain.Math.Expr.Data

Methods

variable :: String -> Expr #

getVariable :: Monad m => Expr -> m String #

Uniplate Expr Source # 
Instance details

Defined in Domain.Math.Expr.Data

Methods

uniplate :: Expr -> (Str Expr, Str Expr -> Expr) #

descend :: (Expr -> Expr) -> Expr -> Expr #

descendM :: Monad m => (Expr -> m Expr) -> Expr -> m Expr #

CoField Expr Source # 
Instance details

Defined in Domain.Math.Expr.Data

CoRing Expr Source # 
Instance details

Defined in Domain.Math.Expr.Data

CoSemiRing Expr Source # 
Instance details

Defined in Domain.Math.Expr.Data

Field Expr Source # 
Instance details

Defined in Domain.Math.Expr.Data

Ring Expr Source # 
Instance details

Defined in Domain.Math.Expr.Data

SemiRing Expr Source # 
Instance details

Defined in Domain.Math.Expr.Data

toExpr :: IsTerm a => a -> Expr Source #

fromExpr :: (MonadPlus m, IsTerm a) => Expr -> m a Source #