DIRECTORY MathExpr USING [EXPR], Rope USING [ROPE]; MathConstructors: CEDAR DEFINITIONS ~ BEGIN ROPE: TYPE ~ Rope.ROPE; EXPR: TYPE ~ MathExpr.EXPR; MakePlaceHolder: PROC[] RETURNS[EXPR]; MakeInfinity: PROC[] RETURNS[EXPR]; MakeInt: PROC[n: ROPE] RETURNS[EXPR]; MakeReal: PROC[r: REAL] RETURNS[EXPR]; MakeVariable: PROC[var: ROPE] RETURNS[EXPR]; MakeGreekVar: PROC[name: ROPE] RETURNS[EXPR]; 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]; MakeVector: PROC[dimension: NAT, elements: LIST OF EXPR, row: BOOL] RETURNS[EXPR]; 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]; badFormat: ERROR; END. >MathConstructors.mesa Carl Waldspurger, August 29, 1986 1:55:55 pm PDT Type Abbreviations High Level Expression Constructors effects: Constructs and returns an expression for +infinity. effects: Constructs and returns an integer expression for n. SIGNALS badFormat if n is not a legal integer. effects: Constructs and returns a real expression for n. effects: Constructs and returns a variable expression for var. SIGNALS badFormat if n is not a legal variable (e.g. invalid chars). 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. 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). effects: Constructs and returns a vector expression of size dimension from elements. SIGNALS badFormat if dimension doesn't exactly match dimension(elements). Signals & Errors Κͺ˜Jšœ™Jšœ0™0J˜J˜codešΟk ˜ Kšœ œœ˜Kšœœœ˜K˜—J˜šΟnœœ œ˜&J˜Jš˜—˜Jšž™˜Jšœœœ˜Jšœœ œ˜J˜—J™šž"™"K˜Kšžœœœœ˜&K˜K˜šž œœœœ˜#Kšœ=™=K˜—š žœœœœœ˜%Kšœ=™=Kšœ8™8—K˜š žœœœœœ˜&Kšœ9™9—K˜š ž œœœœœ˜,Kšœ?™?KšœN™N—K™š ž œœœœœ˜-KšœD™DšœO™OK™>—K˜—Kš žœœœœœ˜%K˜Kš ž œœœœœ˜*K˜š žœœœœœ˜(K˜—Kš žœœœœœ˜'K˜Kš žœœœœœ˜2K˜Kš ž œœœœœ˜,K˜Kš žœœœœœ˜>K˜Kš ž œœœœœ˜@K˜Kš ž œœœœœ˜?K˜Kš ž œœœœœ˜'K˜Kš žœœœœœ˜2K˜Kš ž œœœœœ˜9K˜Kš ž œœœœœ˜3K˜Kš ž œœœœœ˜9K˜Kš ž œœœœœ˜CK˜Kš žœœœœœ˜AK˜šž œœœœœ œœœ˜NKšœU™UK™SK™—šž œœ œ œœœœœœ˜SKšœT™TK™RK˜—K™Kš ž œœ œœœ˜2Kšœ˜Kš žœœ œœœ˜6K˜š ž œœ œœœ˜3K˜—š ž œœ œœœ˜2K˜—š ž œœ œœœ˜2K˜—Kš ž œœ œœœ˜3K˜—šž™K™Kšœ œ˜K˜K˜—šœ˜K˜———…—ςΪ