High Level Expression Constructors
MakePlaceHolder: PROC[] RETURNS[EXPR];
MakeInfinity:
PROC[]
RETURNS[
EXPR];
effects: Constructs and returns an expression for +infinity.
MakeInt:
PROC[n:
ROPE]
RETURNS[
EXPR];
effects: Constructs and returns an integer expression for n.
SIGNALS badFormat if n is not a legal integer.
MakeReal:
PROC[r:
REAL]
RETURNS[
EXPR];
effects: Constructs and returns a real expression for n.
MakeVariable:
PROC[var:
ROPE]
RETURNS[
EXPR];
effects: Constructs and returns a variable expression for var.
SIGNALS badFormat if n is not a legal variable (e.g. invalid chars).
MakeGreekVar:
PROC[name:
ROPE]
RETURNS[
EXPR];
effects: Constructs and returns a greek variable expression for the
lowercase greek letter associated with name (e.g. "gamma", "lambda").
SIGNALS badFormat if name does not name a greek letter.
MakeNot: PROC[a: EXPR] RETURNS[EXPR];
MakeNegation: PROC[a: EXPR] RETURNS[EXPR];
MakeAnd:
PROC[a, b:
EXPR]
RETURNS[
EXPR];
MakeOr: PROC[a, b: EXPR] RETURNS[EXPR];
MakeSum: PROC[addend, augend: EXPR] RETURNS[EXPR];
MakeComplex: PROC[a, b: EXPR] RETURNS[EXPR];
MakeDifference: PROC[subtrahend, minuend: EXPR] RETURNS[EXPR];
MakeProduct: PROC[multiplier, multiplicand: EXPR] RETURNS[EXPR];
MakeFraction: PROC[numerator, denominator: EXPR] RETURNS[EXPR];
MakeParen: PROC[a: EXPR] RETURNS[EXPR];
MakePow: PROC[base, exponent: EXPR] RETURNS[EXPR];
MakeSubscript: PROC[base, subscript: EXPR] RETURNS[EXPR];
MakeRadical: PROC[radicand, n: EXPR] RETURNS[EXPR];
MakeSummation: PROC[lb, ub, summand: EXPR] RETURNS[EXPR];
MakeIntegral: PROC[llim, ulim, integrand, wrt: EXPR] RETURNS[EXPR];
MakeIndefiniteIntegral: PROC[integrand, wrt: EXPR] RETURNS[EXPR];
MakeMatrix:
PROC[nRows, nCols:
NAT, rows:
LIST
OF
LIST OF EXPR]
RETURNS[
EXPR];
effects: Constructs and returns a matrix expression of size nRows by nCols from rows.
SIGNALS badFormat if dimensions given don't exactly match dimension(rows).
MakeVector:
PROC[dimension:
NAT, elements:
LIST
OF
EXPR, row:
BOOL]
RETURNS[
EXPR];
effects: Constructs and returns a vector expression of size dimension from elements.
SIGNALS badFormat if dimension doesn't exactly match dimension(elements).
MakeEqFormula: PROC[lhs, rhs: EXPR] RETURNS[EXPR];
MakeNotEqFormula: PROC[lhs, rhs: EXPR] RETURNS[EXPR];
MakeLtFormula:
PROC[lhs, rhs:
EXPR]
RETURNS[
EXPR];
MakeLeFormula:
PROC[lhs, rhs:
EXPR]
RETURNS[
EXPR];
MakeGtFormula:
PROC[lhs, rhs:
EXPR]
RETURNS[
EXPR];
MakeGeFormula: PROC[lhs, rhs: EXPR] RETURNS[EXPR];