egison-4.1.3: Programming language with non-linear pattern-matching against non-free data
LicenseMIT
Safe HaskellNone
LanguageHaskell2010

Language.Egison.Math.Expr

Description

This module defines the internal representation of mathematic objects such as polynominals, and some useful patterns.

Documentation

newtype PolyExpr Source #

Constructors

Plus [TermExpr] 

Instances

Instances details
Eq PolyExpr Source # 
Instance details

Defined in Language.Egison.Math.Expr

Show PolyExpr Source # 
Instance details

Defined in Language.Egison.Math.Expr

Printable PolyExpr Source # 
Instance details

Defined in Language.Egison.Math.Expr

ToMathExpr PolyExpr Source # 
Instance details

Defined in Language.Egison.PrettyMath.AST

data TermExpr Source #

Constructors

Term Integer Monomial 

Instances

Instances details
Eq TermExpr Source # 
Instance details

Defined in Language.Egison.Math.Expr

Show TermExpr Source # 
Instance details

Defined in Language.Egison.Math.Expr

Printable TermExpr Source # 
Instance details

Defined in Language.Egison.Math.Expr

ToMathExpr TermExpr Source # 
Instance details

Defined in Language.Egison.PrettyMath.AST

Matcher TermM TermExpr Source # 
Instance details

Defined in Language.Egison.Math.Expr

class Printable a where Source #

Methods

isAtom :: a -> Bool Source #

pretty :: a -> String Source #

data ScalarM Source #

Constructors

ScalarM 

Instances

Instances details
ValuePattern ScalarM ScalarData Source # 
Instance details

Defined in Language.Egison.Math.Expr

Matcher ScalarM ScalarData Source # 
Instance details

Defined in Language.Egison.Math.Expr

data TermM Source #

Constructors

TermM 

Instances

Instances details
Matcher TermM TermExpr Source # 
Instance details

Defined in Language.Egison.Math.Expr

data SymbolM Source #

Constructors

SymbolM 

Instances

Instances details
ValuePattern SymbolM SymbolExpr Source # 
Instance details

Defined in Language.Egison.Math.Expr

Matcher SymbolM SymbolExpr Source # 
Instance details

Defined in Language.Egison.Math.Expr

zeroM :: ScalarM -> p -> () Source #