Symbol Manipulation

Numerical computation is often thought to be the normal work carried out by the computer, whereas the manipulation of arbitrary symbols is regarded as exceptional. Symbol manipulation, however, is the basic capability from which the computer derives its formidable powers. If certain symbols are interpreted as numeric values in mathematical expressions, the result of computation is said to be numeric. If symbols are interpreted in other ways it is convenient to say that the computation is non-numeric.

Early practical applications of the computer, confined mainly to the sciences and commerce, were primarily numeric. With the application of the computer to other areas, such as artificial intelligence, the need to utilize the full symbol manipulation power of the machine became evident and serious attention was given to the design of languages oriented toward the processing of character sequences which might represent non-mathematical symbolic systems. For example, the language COMIT, developed at M.I.T. by V.H. Yngve and his associates in 1958, was designed to process linguistic and other non-numeric data. The LISP (List Processor) language designed by John McCarthy and his co-workers at M.I.T. provided powerful means for manipulating complex symbolic expressions in list structures. LISP programs have been written to solve problems in circuit theory, mathematical logic, and in a number of artificial intelligence projects.

The language SNOBOL (String-Oriented Symbolic Language) shares some of the characteristics of both COMIT and LISP, but it differs from them in many significant respects. SNOBOL has been used, for example, in linguistics research, in the construction of psychological models, in cryptanalysis, music research, theorem proving, and parsing algebraic expressions.

~

FORTE, Allen, 1967. The Programming Language SNOBOL3: An Introduction. Computers and the Humanities. 1967. Vol. 1, no. 5, p. 157–163.