Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I

Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I

| JOHN MCCARTHY
The article introduces the LISP programming system, developed by the Artificial Intelligence group at M.I.T. for the IBM 704 computer. LISP was designed to facilitate experiments with the Advice Taker system, which aimed to enable machines to handle both declarative and imperative sentences and exhibit "common sense" in their operations. The system evolved through several stages and ultimately focused on representing partial recursive functions of symbolic expressions, independent of any specific computer architecture. The article covers several key aspects: 1. **Recursive Function Formalism**: A formalism for defining functions recursively, which is useful both as a programming language and for developing a theory of computation. 2. **S-Expressions and S-Functions**: Definitions and examples of S-expressions and S-functions, including conditional expressions and recursive function definitions. 3. **Universal S-Function apply**: A universal function that allows computing the value of a given function for specific arguments. 4. **Representation in IBM 704**: The representation of S-expressions in memory using list structures and the representation of S-functions by programs. 5. **Lisp Programming System Features**: Details on how the system represents S-expressions, association lists, free-storage lists, and elementary S-functions. 6. **Linear LISP**: An alternative formalism for functions of symbolic expressions, which is mathematically equivalent to Lisp but has different practical implications. 7. **Flowcharts and Recursion**: The relationship between flowcharts and recursive function definitions, showing how to translate between the two. The article also discusses the status of the LISP programming system at the time of writing and acknowledges the contributions of various researchers and the support from the M.I.T. Computation Center and the Research Laboratory of Electronics.The article introduces the LISP programming system, developed by the Artificial Intelligence group at M.I.T. for the IBM 704 computer. LISP was designed to facilitate experiments with the Advice Taker system, which aimed to enable machines to handle both declarative and imperative sentences and exhibit "common sense" in their operations. The system evolved through several stages and ultimately focused on representing partial recursive functions of symbolic expressions, independent of any specific computer architecture. The article covers several key aspects: 1. **Recursive Function Formalism**: A formalism for defining functions recursively, which is useful both as a programming language and for developing a theory of computation. 2. **S-Expressions and S-Functions**: Definitions and examples of S-expressions and S-functions, including conditional expressions and recursive function definitions. 3. **Universal S-Function apply**: A universal function that allows computing the value of a given function for specific arguments. 4. **Representation in IBM 704**: The representation of S-expressions in memory using list structures and the representation of S-functions by programs. 5. **Lisp Programming System Features**: Details on how the system represents S-expressions, association lists, free-storage lists, and elementary S-functions. 6. **Linear LISP**: An alternative formalism for functions of symbolic expressions, which is mathematically equivalent to Lisp but has different practical implications. 7. **Flowcharts and Recursion**: The relationship between flowcharts and recursive function definitions, showing how to translate between the two. The article also discusses the status of the LISP programming system at the time of writing and acknowledges the contributions of various researchers and the support from the M.I.T. Computation Center and the Research Laboratory of Electronics.
Reach us at info@study.space
Understanding Recursive functions of symbolic expressions and their computation by machine%2C Part I