Programming Languages: Toward a general processor for programming languages

Mark I. Halpern. Programming Languages: Toward a general processor for programming languages. Communications of the ACM, 11(1):15-25, 1968. [doi]

Abstract

Many efforts have been made to develop a better way of implementing a higher level programming language than by the construction of a whole new compiler, but so far none has proved generally satisfactory. In this paper, it is contended that a programming language is best described functionally as a body of macro instructions, and that the macro call constitutes a canonical form in terms of which a programming notation may be described. A supporting discussion of the logical and historical role of the macro instruction is presented. Also: discussed are the conflict between machine independence and object program efficiency, and the question of where the greatest difficulties lie in compiler construction.