About: S-expression is a research topic. Over the lifetime, 128 publications have been published within this topic receiving 5469 citations. The topic is also known as: S expression.
TL;DR: A programming system called LISP (for LISt Processor) developed for the IBM 704 computer by the Artificial Intelligence group at M.I.T. 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.
Abstract: 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 was a programming system for manipulating expressions representing formalized declarative and imperative sentences so that the Advice Taker system could make deductions. In the course of its development the LISP system went through several stages of simplification and eventually came to be based on a scheme for representing the partial recursive functions of a certain class of symbolic expressions. This representation is independent of the IBM 704 computer, or of any other electronic computer, and it now seems expedient to expound the system by starting with the class of expressions called S-expressions and the functions called S-functions.
TL;DR: The LISP language is designed primarily for symbolic data processing used for symbolic calculations in differential and integral calculus, electrical circuit theory, mathematical logic, game playing, and other fields of artificial intelligence.
Abstract: The LISP language is designed primarily for symbolic data processing used for symbolic calculations in differential and integral calculus, electrical circuit theory, mathematical logic, game playing, and other fields of artificial intelligence.The manual describes LISP, a formal mathematical language. LISP differs from most programming languages in three important ways. The first way is in the nature of the data. In the LISP language, all data are in the form of symbolic expressions usually referred to as S-expressions, of indefinite length, and which have a branching tree-type of structure, so that significant subexpressions can be readily isolated. In the LISP system, the bulk of the available memory is used for storing S-expressions in the form of list structures. The second distinction is that the LISP language is the source language itself which specifies in what way the S-expressions are to be processed. Third, LISP can interpret and execute programs written in the form of S-expressions. Thus, like machine language, and unlike most other high level languages, it can be used to generate programs for further executions.
TL;DR: This chapter discusses data-Driven Programming and Other Programming Techniques, higher-Order Functions, Continuations, and Coroutines, and higher-order functions in Lisp, as well as some of the techniques used in AI programming.
Abstract: Contents Part I:Lisp Programming.Lisp Review. Macros and Read-Macros. Data Structures and Control Structures in Lisp. Input/Output in Lisp. Compiling Your Program and Your Program's Program. Data-Driven Programming and Other Programming Techniques. Higher-Order Functions, Continuations, and Coroutines. Part IIAI Programming Techniques.Simple Discrimination Nets. Agenda Control Structures. Deductive Information Retrieval. Discrimination Nets With Variables. Production Systems. Slot and Filler Data Bases. Chronological Backtracking. Data Dependencies and Reason Maintenance Systems. Appendix 1: A Glossary of Common Lisp Functions. Answers to Selected Exercises.
TL;DR: A new data structure, the xapping, that is like a sparse array whose elements can be processed in parallel, suitable for implementation by fine.grained parallel computers as the Connection Machine System and NON- VON.
Abstract: Connection Machine Lisp is a dialect of Lisp extended to al- low a fine.grained, data-oriented style of parallel execution. We introduce a new data structure, the xapping, that is like a sparse array whose elements can be processed in parallel. This kind of processing is suitable for implementation by such fine.grained parallel computers as the Connection Machine System and NON- VON. Additional program notation is introduced to indicate var- ious parallel operations. The symbols st andare used, in a manner syntactically reminiscent of the backquote notation used in Common Lisp, to indicate what parts of an expression are to be executed in parallel. Ths symbol fl is used to indicate permu- tation and reduction of sets of data. Connection Machine Lisp in practice leans heavily on APL and FP and their descendants. Many ideas and stylistic idioms can be carried over directly. Some idioms of Connection Machine Lisp are difficult to render in APL because Connection Machine Lisp xappings may be sparse while APL vectors are not sparse. We give many small examples of programming in Connection Machine Lisp. Two metcircular interpreters for a subset of Connection Ma- chine Lisp are presented. One is concise but suffers from defining a in terms of itself in such a way as to obscure its essential prop- erties. The other is longer but facilitates presentation of these properties.
TL;DR: An introduction to LISP is given on an elementary level and Topics covered include the programming system, 240 exercises with solutions, debugging of LISp programs, and styles of programming.
Abstract: : An introduction to LISP is given on an elementary level. Topics covered include the programming system, 240 exercises with solutions, debugging of LISP programs, and styles of programming. More advanced discussions are contained in the following articles: Techniques using LISP for automatically discovering interesting relations in data; Automation, using LISP, of inductive inference on sequences; Application of LISP to machine checking of mathematical proofs; METEOR: A LISP interpreter for string transformations; Notes on implementing LISP for the M-460 computer; LISP as the language for an incremental computer; The LISP system for the Q-2 computer; An auxiliary language for more natural expression -- the A-language. Some applications of the utilization of the LISP programming language are given in the appendices.