V2(ID:3345/v::004)Volume 2 language from IAL work rejectionsfor Volume 2 Language - McCarthy's proposal's for various conditional, functional and s-expressional features for the IAL were put into a secnod volume report, as a minority report. This Volume was also rejected by the GAMM in Zurich, and McCarthy began work on the language while teaching in the MIT courses in 1958 Structures: Related languages
References: The first part of the paper (11) discussed the intermediate language, which was to be convenient for a compiler. McCarthy stressed the advantage of expressing a whole program as a composite expression and proposed the prefix-notation. The subject of the second part are functions. McCarthy points out that the language described by the first volume contains functions only as constant entities, i.e. a symbol denotes only one and the same function. He proposed including variables for functions and permitting them on the left side of assignment statements. To increase the potential applications of these language elements he proposed additonal operations with functions: "1. Addition, substraction, multiplication and division for numerical valued functions. In general we shall want any operations which were appropriate on the range of a set of functions. 2. Composition ... is appropriate whenever the domain of a (function) f and the range of (another function) g coincide. 3. Abstraction from forms. ... I have chosen to propose that we use the Church Lambda notation ... This implies that we must also admit forms into our system and an appropriate collection of operations on them .... 4. Operations on functions such as differentiation, other differential operators, and integration ... 5. ... direct sum operation (of multiplet valued functions) ..." Then he considers permitting the description of logical relations between variables (which could be understood as a consequence of the work on the advice taker which developed into logic-oriented programming). The end of this interesting paper contains the proposal for using rules for compiler as a program which translates the text according to rules. We hope that most of these rules can be given by formulas ... . If this can be done the compiler will be very easily described and it will be very easy for the programmer to introduce new notations." We don't want to stylize these short remarks into the founding of a new rule-oriented programming style. However, we believe this to be an important idea, which for a long time was forgotten. It was this author who proved the feasibility of the idea of a rule-based compiler (33,34). from Stoyan |