ideas-math-types-1.0: 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 # 
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]

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

Different Expr Source # 
Instance details

Defined in Domain.Math.Expr.Data

Methods

different :: (Expr, 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

Reference Expr 
Instance details

Defined in Domain.Math.Expr.Parser

Methods

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

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

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

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