| License | MIT | 
|---|---|
| Safe Haskell | None | 
| Language | Haskell2010 | 
Language.Egison.Math.Expr
Description
This module defines the internal representation of mathematic objects such as polynominals, and some useful patterns.
Documentation
data ScalarData Source #
Instances
| Eq ScalarData Source # | |
| Defined in Language.Egison.Math.Expr | |
| Show ScalarData Source # | |
| Defined in Language.Egison.Math.Expr Methods showsPrec :: Int -> ScalarData -> ShowS # show :: ScalarData -> String # showList :: [ScalarData] -> ShowS # | |
| Printable ScalarData Source # | |
| Defined in Language.Egison.Math.Expr | |
| ToMathExpr ScalarData Source # | |
| Defined in Language.Egison.PrettyMath.AST Methods toMathExpr :: ScalarData -> MathExpr Source # | |
| ValuePattern ScalarM ScalarData Source # | |
| Defined in Language.Egison.Math.Expr Methods value :: ScalarData -> Pattern () ScalarM ScalarData () # valueM :: ScalarM -> ScalarData -> () # | |
| Show (Index ScalarData) Source # | |
| Defined in Language.Egison.Math.Expr | |
| Matcher ScalarM ScalarData Source # | |
| Defined in Language.Egison.Math.Expr | |
type Monomial = [(SymbolExpr, Integer)] Source #
data SymbolExpr Source #
Constructors
| Symbol Id String [Index ScalarData] | |
| Apply ScalarData [ScalarData] | |
| Quote ScalarData | |
| FunctionData ScalarData [ScalarData] [ScalarData] | 
Instances
| Eq SymbolExpr Source # | |
| Defined in Language.Egison.Math.Expr | |
| Show SymbolExpr Source # | |
| Defined in Language.Egison.Math.Expr Methods showsPrec :: Int -> SymbolExpr -> ShowS # show :: SymbolExpr -> String # showList :: [SymbolExpr] -> ShowS # | |
| Printable SymbolExpr Source # | |
| Defined in Language.Egison.Math.Expr | |
| ToMathExpr SymbolExpr Source # | |
| Defined in Language.Egison.PrettyMath.AST Methods toMathExpr :: SymbolExpr -> MathExpr Source # | |
| ValuePattern SymbolM SymbolExpr Source # | |
| Defined in Language.Egison.Math.Expr Methods value :: SymbolExpr -> Pattern () SymbolM SymbolExpr () # valueM :: SymbolM -> SymbolExpr -> () # | |
| Matcher SymbolM SymbolExpr Source # | |
| Defined in Language.Egison.Math.Expr | |
| ToMathExpr (SymbolExpr, Integer) Source # | |
| Defined in Language.Egison.PrettyMath.AST Methods toMathExpr :: (SymbolExpr, Integer) -> MathExpr Source # | |
class Printable a where Source #
Instances
| Printable SymbolExpr Source # | |
| Defined in Language.Egison.Math.Expr | |
| Printable TermExpr Source # | |
| Printable PolyExpr Source # | |
| Printable ScalarData Source # | |
| Defined in Language.Egison.Math.Expr | |
pattern ZeroExpr :: ScalarData Source #
pattern SingleSymbol :: SymbolExpr -> ScalarData Source #
pattern SingleTerm :: Integer -> Monomial -> ScalarData Source #
Constructors
| ScalarM | 
Instances
| ValuePattern ScalarM ScalarData Source # | |
| Defined in Language.Egison.Math.Expr Methods value :: ScalarData -> Pattern () ScalarM ScalarData () # valueM :: ScalarM -> ScalarData -> () # | |
| Matcher ScalarM ScalarData Source # | |
| Defined in Language.Egison.Math.Expr | |
Constructors
| TermM | 
Constructors
| SymbolM | 
Instances
| ValuePattern SymbolM SymbolExpr Source # | |
| Defined in Language.Egison.Math.Expr Methods value :: SymbolExpr -> Pattern () SymbolM SymbolExpr () # valueM :: SymbolM -> SymbolExpr -> () # | |
| Matcher SymbolM SymbolExpr Source # | |
| Defined in Language.Egison.Math.Expr | |
func :: Pattern (PP ScalarData, PP [ScalarData]) SymbolM SymbolExpr (ScalarData, [ScalarData]) Source #
apply :: Pattern (PP String, PP [ScalarData]) SymbolM SymbolExpr (String, [ScalarData]) Source #
equalMonomial :: Pattern (PP Integer, PP Monomial) (Multiset (Pair SymbolM Eql)) Monomial (Integer, Monomial) Source #
singleTerm :: Pattern (PP Integer, PP Integer, PP Monomial) ScalarM ScalarData (Integer, Integer, Monomial) Source #
mathScalarMult :: Integer -> ScalarData -> ScalarData Source #
mathNegate :: ScalarData -> ScalarData Source #