SYMFORM(ID:8447/)for SIMplified FORMac (but spelled wrong) Related languages
References: Introduction: The simple past. The first version of FORMAC was written for the IBM 7090/94 as an extension of FORTRAN IV running under the IBM IBSYS-IBJOB monitor. It was an experimental programming system to assist in the symbolic manipulation of mathematical expressions and provided such capabilities as symbolic differentiation, expansion, substitution, comparison and evaluation of expressions. The project originated in August 1962 and the system was released in November 1964. References are given in [27]. Comments of users initialized the design and implementation of PL/I-FORMAC, a more flexible system based on the same principles. The first version was released in 1967, the second in September 1969, [27]. The PL/I-FORMAC interpreter, an extension of the OS/360 PL/I(F) compiler, was originally designed to run on an IBM S360 H-level model 40 and above. It consists of two modules of assembled routines whi6h are added to a system's library: the preprocessor and the objecttime library. In March 1970 the SHARE SMC project (now LASM project) composed a list of known errors and proposed extensions of the IBM preprocessor, [21]. In April 1970 a new preprocessor became available. It was developed at KFA-Julich, Germany-West, by R. Schwerdt, [19]. The errors were corrected and most of the proposed extensions were implemented. To make the FORMAC-system again available to FORTRAN-users, a new FORTRAN-FORMAC, comparable with PL/I-FORMAC, has been written for and tested with FORTRAN IV(H) under 0S/360 in 1970 at DRZ-Darmstadt, Germany-West, by Knut A. Bahr, [1]. At 1.1.1971 IBM stopped the FORMAC project. Information about SHARE's FORMAC maintenance and distribution is given in SIGSAM Bulletin No. 26, page 2. The address of the FORMAC library of SEAS is: ZAM/KFA-Juelich, Postfach 365, D517 Juelich I, Germany-West. Extract: SCOPE FORMAC Another early system was the Scope FORMAC Language, [28]. When the system was operational it ran in a 256 K partition of an IBM 360/50 with an IBM 2250 graphic display unit as I/0 device. The system was last operational in January 1969, at which time IBM decided to support it no longer, [29]. Extract: FINSTER A prototype of FINSTER ran on the IBM 360/75 of KFA-Juelich in 1970, in a 160 K partition under OS/MFT and serving four 2260 terminals. Extract: FORDECAL FORDECAL is running in a number of institutions on an IBM 360/67 under CP67-CMS and serving 2741 terminals. The system may be used on an IBM 370 under VM, although the testing of this FORDECAL version is not yet finished, [15]. A TSO-version will be announced in the near future, [15]. FORDECAL is an interactive system similar to a desk calculator. The statements are executed as soon as they have been typed on the key-board of the terminal. Although this system does not allow to execute a program with the whole range the PL/I-FORMAC language itself offers, some statements may be executed repeatedly with either a DO or BEGIN command (compound DO-loops, DOgroups and blocks respectively). The system allows to c~ll user typed (function) procedures, which can be recursive. The FORDECAL statements resemble the PL/I-FORMAC statements, but are written in a syntax as nearly similar as the usual mathematical syntax. FORDECAL uses only the FORMAC-components of PL/I-FORMAC and can be used without any knowledge of PL/I and with only a vague impression of FORMAC. [ii] and [12] survey the system, [13] contains a description of some of the practised implementation techniques and [14], written in French, offers an accurate and detailed description of FORDECAL and its implementation, Extract: TUTOR TUTOR, [16], was originally implemented on an IBM 360/65 at Calspan Corporation, Buffalo, N.Y., under OS/MFT using the FORTRAN GSP package for the graphics facility (an IBM 2250 as I/O device) and an interface program to make it compatable with PL/I. When MVT and the PL/I GSP package became available the program was modified for these facilities. A normal run at Calspan allowed 250 K. Due to changes in Calspan's computer configuration TUTOR's future is uncertain, [17]. TUTOR is a simple conversational system without advanced control commands as provided in FORDECAL. An essential difference between TUTOR and the other interactive systems is its capability of accepting two-sides equations, that is mathematical expressions on either or both sides of the equal sign. Special commands to manipulate equations are implemented. Extract: SYMBAS An experimental version of SYMBAS, a FORMAC orientated version of BASIC, is running under TSS since summer 1972 at KFA-J~lich serving 2741 terminals. A TSO-version of SYMBAS, running under VS2, is in consideration, [9]. To have a system available which is well suited for symbolic as well as numerical applications the interactive, line-orientated BASIC system was chosen and its semantics were extended in the case of symbolic applications. This technique enabled the implementation of an interpreter which evaluates expressions numerically when ~ ever possible. In this extension BASIC variables do not need to have assigned numerical values; they may be interpreted as atoms or symbolic expressions may be assigned to them. So assigning numerical values to all variables of a SYMBAS program does the program run as if it would have been a proper BASIC program. The matrix statements of BASIC are also included and are extended to facilitate fraction free elimination algorithms for symbolic matrices. The run-time routines of FORMAC are used to do symbolic computations. A special editor is available to create and change programs. A debugging system enables the user to stop his program at any point, to display and to reassign variables, and to change statements and program flow. |