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 #