This paper describes a system designed to provide an interactive symbolic computational facility for the mathematician user. To carry out this objective, an experimental LISP system has been implemented for IBM System/360 computers. Using this LISP system as a base, portions of several systems have been combined and augmented to provide the following facilities to a user:(1) rational function manipulation and simplification; symbolic differentiation (Anthony Hearn's REDUCE)(2) symbolic integration (Joel Moses' SIN)(3) polynomial factorization, solution of linear differential equations, direct and inverse symbolic Laplace transforms (Carl Engelman's MATHLAB, including Knut Korsvold's simplification system)(4) unlimited precision integer arithmetic(5) manipulation of arrays containing symbolic entries(6) two-dimensional output on IBM 2741 terminals or IBM 2250 displays (William Martin's Symbolic Mathematical Laboratory, and Jonathan Millen's CHARYBDIS program from MATHLAB)(7) self-extending language facility (META/LISP).The user language created for the system incorporates a subset of "customary" mathematical notation. Data objects include sequences (both finite and infinite) and arrays of arbitrary rank. Assignment statements are the fundamental commands in the user language; they may contain "for"-clauses which restrict the domain for which the assignment is valid and permit "piecewise" and recursive definition of new operators and functions. The user may also enter syntax definition statements in order to introduce new notations into the system.Expressions appearing in assignment statements may include "where"-clauses which allow user control over the "environment" used in evaluation. Otherwise, evaluation of expressions occurs in the current environment created by the successive user commands, with certain operations such as integration, differentiation, and simplification performed automatically.Translators for the user language and for a resident higher-level procedural language facility are written in META/LISP, a new self-compiling translator-writing system. As a result, all input language facilities as well as the underlying manipulation routines may be interactively extended by an experienced user.
Read full abstract