| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Language.Drasil.ModelExpr.Lang
Description
The Drasil Modelling Expression language
Synopsis
- data AssocBoolOper
- = And
- | Or
- | Equivalence
- data StatBinOp = Defines
- data SpaceBinOp = IsIn
- data DerivType
- data ModelExpr where
- Lit :: Literal -> ModelExpr
- Spc :: Space -> ModelExpr
- AssocA :: AssocArithOper -> [ModelExpr] -> ModelExpr
- AssocB :: AssocBoolOper -> [ModelExpr] -> ModelExpr
- AssocC :: AssocConcatOper -> [ModelExpr] -> ModelExpr
- Deriv :: Integer -> DerivType -> ModelExpr -> UID -> ModelExpr
- C :: UID -> ModelExpr
- FCall :: UID -> [ModelExpr] -> ModelExpr
- Case :: Completeness -> [(ModelExpr, ModelExpr)] -> ModelExpr
- Matrix :: [[ModelExpr]] -> ModelExpr
- Set :: Space -> [ModelExpr] -> ModelExpr
- Variable :: String -> ModelExpr -> ModelExpr
- UnaryOp :: UFunc -> ModelExpr -> ModelExpr
- UnaryOpB :: UFuncB -> ModelExpr -> ModelExpr
- UnaryOpVV :: UFuncVV -> ModelExpr -> ModelExpr
- UnaryOpVN :: UFuncVN -> ModelExpr -> ModelExpr
- ArithBinaryOp :: ArithBinOp -> ModelExpr -> ModelExpr -> ModelExpr
- EqBinaryOp :: EqBinOp -> ModelExpr -> ModelExpr -> ModelExpr
- LABinaryOp :: LABinOp -> ModelExpr -> ModelExpr -> ModelExpr
- OrdBinaryOp :: OrdBinOp -> ModelExpr -> ModelExpr -> ModelExpr
- SpaceBinaryOp :: SpaceBinOp -> ModelExpr -> ModelExpr -> ModelExpr
- StatBinaryOp :: StatBinOp -> ModelExpr -> ModelExpr -> ModelExpr
- VVVBinaryOp :: VVVBinOp -> ModelExpr -> ModelExpr -> ModelExpr
- VVNBinaryOp :: VVNBinOp -> ModelExpr -> ModelExpr -> ModelExpr
- NVVBinaryOp :: NVVBinOp -> ModelExpr -> ModelExpr -> ModelExpr
- ESSBinaryOp :: ESSBinOp -> ModelExpr -> ModelExpr -> ModelExpr
- ESBBinaryOp :: ESBBinOp -> ModelExpr -> ModelExpr -> ModelExpr
- Operator :: AssocArithOper -> DomainDesc t ModelExpr ModelExpr -> ModelExpr -> ModelExpr
- RealI :: UID -> RealInterval ModelExpr ModelExpr -> ModelExpr
- ForAll :: UID -> Space -> ModelExpr -> ModelExpr
- type Variable = String
Documentation
data AssocBoolOper Source #
Associative boolean operators (and, or).
Constructors
| And | |
| Or | |
| Equivalence |
Instances
| Show AssocBoolOper Source # | |
Defined in Language.Drasil.ModelExpr.Lang Methods showsPrec :: Int -> AssocBoolOper -> ShowS # show :: AssocBoolOper -> String # showList :: [AssocBoolOper] -> ShowS # | |
| Eq AssocBoolOper Source # | |
Defined in Language.Drasil.ModelExpr.Lang Methods (==) :: AssocBoolOper -> AssocBoolOper -> Bool # (/=) :: AssocBoolOper -> AssocBoolOper -> Bool # | |
Statements involving 2 arguments.
Constructors
| Defines |
data SpaceBinOp Source #
Value -> Space -> Bool operators.
Constructors
| IsIn |
Instances
| Eq SpaceBinOp Source # | |
Defined in Language.Drasil.ModelExpr.Lang | |
Determines the type of the derivative (either a partial derivative or a total derivative).
Expression language where all terms are supposed to have a meaning, but that meaning may not be that of a definite value. For example, specification expressions, especially with quantifiers, belong here.
Constructors
| Lit :: Literal -> ModelExpr | Brings a literal into the expression language. |
| Spc :: Space -> ModelExpr | Introduce Space values into the expression language. |
| AssocA :: AssocArithOper -> [ModelExpr] -> ModelExpr | Takes an associative arithmetic operator with a list of expressions. |
| AssocB :: AssocBoolOper -> [ModelExpr] -> ModelExpr | Takes an associative boolean operator with a list of expressions. |
| AssocC :: AssocConcatOper -> [ModelExpr] -> ModelExpr | |
| Deriv :: Integer -> DerivType -> ModelExpr -> UID -> ModelExpr | Derivative syntax is:
Type ( |
| C :: UID -> ModelExpr | C stands for Chunk, for referring to a chunk in an expression. Implicitly assumes that the chunk has a symbol. |
| FCall :: UID -> [ModelExpr] -> ModelExpr | Function applications. |
| Case :: Completeness -> [(ModelExpr, ModelExpr)] -> ModelExpr | For multi-case expressions, each pair represents one case. |
| Matrix :: [[ModelExpr]] -> ModelExpr | Represents a matrix of expressions. |
| Set :: Space -> [ModelExpr] -> ModelExpr | Represents a set of expressions |
| Variable :: String -> ModelExpr -> ModelExpr | used to refernce the (name + type = variable ) |
| UnaryOp :: UFunc -> ModelExpr -> ModelExpr | Unary operation for most functions (eg. sin, cos, log, etc.). |
| UnaryOpB :: UFuncB -> ModelExpr -> ModelExpr | Unary operation for |
| UnaryOpVV :: UFuncVV -> ModelExpr -> ModelExpr | Unary operation for |
| UnaryOpVN :: UFuncVN -> ModelExpr -> ModelExpr | Unary operation for |
| ArithBinaryOp :: ArithBinOp -> ModelExpr -> ModelExpr -> ModelExpr | Binary operator for arithmetic between expressions (fractional, power, and subtraction). |
| EqBinaryOp :: EqBinOp -> ModelExpr -> ModelExpr -> ModelExpr | Binary operator for equality between expressions. |
| LABinaryOp :: LABinOp -> ModelExpr -> ModelExpr -> ModelExpr | Binary operator for indexing two expressions. |
| OrdBinaryOp :: OrdBinOp -> ModelExpr -> ModelExpr -> ModelExpr | Binary operator for ordering expressions (less than, greater than, etc.). |
| SpaceBinaryOp :: SpaceBinOp -> ModelExpr -> ModelExpr -> ModelExpr | Space-related binary operations. |
| StatBinaryOp :: StatBinOp -> ModelExpr -> ModelExpr -> ModelExpr | Statement-related binary operations. |
| VVVBinaryOp :: VVVBinOp -> ModelExpr -> ModelExpr -> ModelExpr | Binary operator for |
| VVNBinaryOp :: VVNBinOp -> ModelExpr -> ModelExpr -> ModelExpr | Binary operator for |
| NVVBinaryOp :: NVVBinOp -> ModelExpr -> ModelExpr -> ModelExpr | Binary operator for |
| ESSBinaryOp :: ESSBinOp -> ModelExpr -> ModelExpr -> ModelExpr | Set operator for Element + Set -> Set |
| ESBBinaryOp :: ESBBinOp -> ModelExpr -> ModelExpr -> ModelExpr | Set operator for Element + Set -> Bool |
| Operator :: AssocArithOper -> DomainDesc t ModelExpr ModelExpr -> ModelExpr -> ModelExpr | Operators are generalized arithmetic operators over a |
| RealI :: UID -> RealInterval ModelExpr ModelExpr -> ModelExpr | A different kind of |
| ForAll :: UID -> Space -> ModelExpr -> ModelExpr | Universal quantification |