Welcome to the Dictionary of Programming Languages, a compendium
of computer coding methods assembled to provide information and
aid your appreciation for computer science history.

Browse the dictionary by clicking on a section:

A
B
C
D
E
F
G
H
I
JK
L
M
N
O
P
QR
S
T
UV
WXYZ+

Get a full dump of the dictionary:

List of Names
Short Form
Full Form

**FORMAC***See:*-
FORTRAN

*Language type:*- M - Mathematical or Simulation

*Description:*- FORMAC is a dialect of FORTRAN with an
extensive set of extensions for symbolic
computation and expression manipulation.
It was designed and implemented in the
1960s to support scientific and
engineering computing on
IBM mainframes.

As a kind of symbolic dialect of FORTRAN IV, the original FORMAC had syntax and overall program structure similar to FORTRAN. Data types supported included all the FORTRAN numeric types, plus rational numbers, symbols, arrays, and expressions. FORMAC programs could include subroutines and functions, and could use other FORTRAN facilities like common areas.

FORMAC was originally implemented as a preprocessor on top of FORTRAN; the formulae and symbolic function calls were transformed into calls to a symbolic manipulation library. For I/O, FORMAC could take advantage of all the usual FORTRAN facilities, and could also print its symbolic expressions.

In the late 1960s, IBM researchers created a similar proprocessor for PL/I, imaginatively named PL/I-FORMAC.

Unlike later symbolic math systems, FORMAC supported creation of expressions but not meta-expressions (rules). This is indicative of its early status in the evolution of symbolic computation, and despite its comparative lack of features it was influential on the field on its immediate successors (e.g. Reduce, Macsyma). FORMAC was used up until the early 1990s.*Origin:*- Jean Sammet

*et al*, IBM, 1964.*See Also:*-
Mathematica
Macyma
APL
PL/I.

*Remarks:*- FORMAC was the first general
symbolic mathematics

. There had been other attempts to apply computers to symbol manipulation, but prior to FORMAC all of them were libraries of procedures and functions that had to be assembled in the context of a conventional language.**language**

Even after FORMAC and its cousin PL/I-FORMAC were dropped as official IBM products, they continued to be enhanced and used by members of IBM's SHARE user group.

The name stands for FORmula MAnipulation Compiler.*Date:*- Last updated 3/11/98

*Sample code:*C FORMAC program to find the symbolic roots of some C quadratic equations. By J. Sammet from the HOPL-II C paper on the history of FORMAC, typos corrected. SYMARG ATOMIC X,Y,K DIMENSION CASE(3), X1(3), x2(3) LET CASE(1) = X**2 + 2*X*(Y+1) + (Y+1)**2 LET CASE(2) = 2 * X**2 - 4*X LET CASE(3) = 3*X**2 + K*(X+X**2+1) +4 N=3 DO 88 I = 1,N LET RVEXPR = EXPAND CASE(I) LET A = COEFF RVEXPR,X**2 LET B = COEFF RVEXPR,X LET C = COEFF RVEXPR,X**0 LET DISCRM = EXPAND B**2 - 4*A*C LET X1(I) = EXPAND (-B + DISCRM**(1/2))/(2*A) LET X2(I) = EXPAND (-B - DISCRM**(1/2))/(2*A) 88 CONTINUE FMCDMP STOP END

Descriptions in this dictionary are ©1997-99 Neal Ziring. Some examples copyright of their respective authors. Some technologies and languages are trademarked. Permission to copy descriptions is granted as long as authorship credit is preserved.

Comments on this dictionary, corrections and suggestions, are all welcome.
Please use email, the address is *ziring@home.com*

[Ziring MicroWeb Home] [Dictionary Start] [Sign Guestbook]

Dictionary and script maintained by Neal Ziring, last major modifications 3/18/98. Most recent additions to dictionary and master list, 1/00.