Recursive functions of symbolic expressions and their computation by machine, Part I

  title={Recursive functions of symbolic expressions and their computation by machine, Part I},
  author={John McCarthy},
  journal={Communications of the ACM},
  pages={184 - 195}
  • J. McCarthy
  • Published 1 March 1959
  • Computer Science
  • Communications of the ACM
A programming system called LISP (for LISt Processor) has been developed for the IBM 704 computer by the Artificial Intelligence group at M.I.T. The system was designed to facilitate experiments with a proposed system called the Advice Taker, whereby a machine could be instructed to handle declarative as well as imperative sentences and could exhibit “common sense” in carrying out its instructions. The original proposal [1] for the Advice Taker was made in November 1958. The main requirement… Expand
Artificial languages: Computers, connector systems, and data descriptions
The resolution of this problem involves first the development of a notation that is sufficient for describing arbitrary connector systems and arbitrary computers, and then a method of using such descriptions to choose automatically, from among the repertoire of machine operations, sequences of instructions that optimally carry out the intent of operations defined over the connector system. Expand
The Evolution of Programming Languages
The purpose of this book is to study how high-level programming languages are designed to meet the needs of the human and the machine. Expand
Programming languages for non-numeric processing—2: An introduction to the COGENT programming system
The COGENT (COmpiler and GENeralized Translator) programming system is a compiler whose input language is designed to describe symbolic or linguistic manipulation algorithms, and is also applicable to such problem areas as algebraic manipulation, mechanical theorem-proving, and heuristic programming. Expand
McCarthy’s LISP and Basis for Theory of Computation
It is well-known that LISP is an algebraic listprocessing language designed for artificial intelligence, dedicated to symbolic computation, powered by function orientation, enhanced by programExpand
A Heuristic Program that Solves Symbolic Integration Problems in Freshman Calculus
  • J. Slagle
  • Mathematics, Computer Science
  • JACM
  • 1963
Some conclusions concerning computer solution of such problems are: pattern recognition is of fundamental importance, and the solution of a symbolic integration problem by a commercially available computer is far cheaper and faster than by man. Expand
The Architecture of Lisp Machines
The authors enumerate the runtime requirements of a Lisp system and identify potential obstacles to good machine performance, and provide a classification of the Lisp machines that the authors encountered during the survey, and examine the techniques employed in these machines to cater to Lisp's runtime requirements. Expand
Programs=data=first-class citizens in a computational world
  • N. Jones, J. Simonsen
  • Mathematics, Medicine
  • Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences
  • 2012
The ‘blob’ MOC is described: a recent stored-program computational model without pointers that is Turing complete in a strong sense: a universal interpretation algorithm exists that is able to run any program in a natural way and without arcane data encodings. Expand
REC and Convert as aids in teaching Automata Theory ∗
The programming languages REC and Convert, designed in México two and a half decades ago, have matured in recent years as symbol manipulation languages implemented on a variety of microcomputers. InExpand
Automatic reduction of cuch expression by means of the value method
The first part of this paper is an introduction to CUCH, a formal language created in 1962 by merging the A-formulae language (A. Church) and the combinators language (H. B. Curry). The second partExpand
Standard LISP (reprint)
This paper is an attempt to provide a uniform subset of LISP 1.5 and its variants as it exists today and is sufficiently restricted in form so that programs written in it can run under any LISPs system upwardly compatible with LISp 1. Expand


Preliminary report: international algebraic language
This appears to be a natural method for a 256 memory machine, if it had good indexing and looping features and the contribution of the left-hand term becomes proportionately large enough such that it alone might be used within accuracy limits after a certain number of digits are developed. Expand
Programs with common sense
Abstract : This paper discusses programs to manipulate in a suitable formal language (most likely a part of the predicate calculus) common instrumental statements. The basic program will drawExpand
Programming the logic theory machine
A companion paper has discussed a system, called the Logic Theory Machine (LT), that discovers proofs for theorems in symbolic logic in much the same way as a human does. It manipulates symbols, itExpand
The calculi of lambda-conversion
The description for this book, The Calculi of Lambda Conversion. (AM-6), will be forthcoming.
Manual, IBM Corporation, New York, Oct
  • 15,
  • 1956
The Calculi of Lambda-Conversion (Princeton
  • 1941
International algebraic language, Preliminary Report
  • Comm. Assoc. Comp. Mach
  • 1958
  • SAMELS0N, International algebraic language, Preliminary Report, Comm. Assoc. Comp. Mach., Dec.
  • 1958
LSON, International algebraic language, Preliminary Report, Comm
  • Assoc. Comp. Mach., Dec.
  • 1958