<> <> <> DIRECTORY Basics, List, Rope, MathExpr USING [AtomClass, CompoundClass, MatrixClass]; MathDB: CEDAR DEFINITIONS ~ BEGIN <> AtomClass: TYPE ~ MathExpr.AtomClass; CompoundClass: TYPE ~ MathExpr.CompoundClass; MatrixClass: TYPE ~ MathExpr.MatrixClass; ROPE: TYPE ~ Rope.ROPE; AList: TYPE ~ List.AList; <> AtomClassNames: READONLY LIST OF ATOM; CompoundClassNames: READONLY LIST OF ATOM; MatrixClassNames: READONLY LIST OF ATOM; <> ResetAtomClasses: PROC[]; <> ResetCompoundClasses: PROC[]; <> <<>> ResetMatrixClasses: PROC[]; <> InstallAtomClass: PROC[class: AtomClass]; <> InstallCompoundClass: PROC[class: CompoundClass]; <> <<>> InstallMatrixClass: PROC[class: MatrixClass]; <> <<>> LookupAtomClass: PROC[name: ATOM] RETURNS[AtomClass]; <> << SIGNALS notFound if no association exists>> LookupCompoundClass: PROC[name: ATOM] RETURNS[CompoundClass]; <> << SIGNALS notFound if no association exists>> <<>> LookupMatrixClass: PROC[name: ATOM] RETURNS[MatrixClass]; <> << SIGNALS notFound if no association exists>> KillAtomClass: PROC[name: ATOM]; <> KillCompoundClass: PROC[name: ATOM]; <> <<>> KillMatrixClass: PROC[name: ATOM]; <> <<>> DescriptionFromName: PROC[className: ATOM] RETURNS[ROPE]; <> <<>> DescriptionsFromNames: PROC[in: LIST OF ATOM] RETURNS[LIST OF ROPE]; <> <> <> <<>> <> <> <> <> <> <> <> <> ResetOperatorLists: PROC[]; <> <<>> AddOperator: PROC[class: CompoundClass, familyName: ATOM]; <> <<>> OpFamiliesNames: PROC[] RETURNS[LIST OF ATOM]; <> <<>> OpFamilyNames: PROC[familyName: ATOM] RETURNS[LIST OF ATOM]; <> << SIGNALS notFound if no association exists>> <> CompareOps: PROC[op1, op2: ATOM] RETURNS[Basics.Comparison]; <> <> RopesFromAtoms: PROC [in: LIST OF ATOM] RETURNS[LIST OF ROPE]; <> <<>> KillAssoc: PROC [key: REF ANY, aList: AList] RETURNS[AList]; <> <> notFound: ERROR; END.