Toward a General Processor for Programming Languages
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 his torical 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.
CACM January, 1968
Halpern, M. J.
