FORMAC-PL/I-code-compatible updating of FORMAC by Bahr (who used experience to make super FORMAC in FORMAC 73

Related languages
PL/I-FORMAC => FORTRAN-FORMAC   Implementation of
FORTRAN-FORMAC => FORMAC 73   Evolution of

  • Bahr, K. A. "FORTRAN-FORMAC user's manual (version 1)" DRZ - Darmstadt (July 1970). view details
  • van Hulzen, J. A. "FORMAC today, or what can happen to an orphan", ACM SIGSAM Bulletin, 8(1), February 1974 pp5-7 view details Extract: Introduction: The simple past
    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.