UNCOL (Universal Computer Oriented Language) is a universal
intermediate language for
compilers. The idea was introduced in 1958, by a
SHARE ad-hoc committee.[1] It was never fully specified or implemented; in many ways it was more a concept than a language.
UNCOL was intended to make compilers economically available for each new
instruction setarchitecture and
programming language, thereby reducing an N×M problem to N+M.[2] Each machine architecture would require just one compiler back end, and each programming language would require one compiler front end. This was a very ambitious goal because compiler technology was in its infancy, and little was standardized in computer hardware and software.
History
The concept of such a universal intermediate language is old: the
SHARE report (1958) already says "[it has] been discussed by many independent persons as long ago as 1954." Macrakis (1993) summarizes its fate:
UNCOL was an ambitious effort for the early 1960s. An attempt to solve the compiler-writing problem, it ultimately failed because language and compiler technology were not yet mature.
In the 1970s,
compiler-compilers ultimately contributed to solving the problem that UNCOL set itself: the economical production of compilers for new languages and new machines.
Jean E. Sammet, Programming Languages: History and Fundamentals, Prentice-Hall, 1969. Chapter X.2: UNCOL (Significant Unimplemented Concepts), p. 708.
SHAREAd-Hoc Committee on Universal Languages (J. Strong, J. Olsztyn, J. Wegstein, O. Mock, A. Tritter, T. Steel), "The Problem of Programming Communication with Changing Machines", Communications of the ACM1:8:12–18 (August 1958) and 1:9:9–15 (September 1958).
Stavros Macrakis, "From UNCOL to ANDF: Progress in Standard Intermediate Languages", White Paper,
Open Software Foundation Research Institute, RI-ANDF-TP2-1, January, 1992. Available at
CiteSeer
T.B. Steel, Jr., "UNCOL: Universal Computer Oriented Language Revisited", Datamation (Jan/Feb 1960), p. 18.
T.B. Steel, Jr., "A First Version of UNCOL", Proc. Western Joint Computer Conference19:371 (Los Angeles, May 9–11, 1961).
T.B. Steel, Jr., "UNCOL: The Myth and the Fact", Annual Review in Automatic Programming2:325 (1961).