Lisp (book)

Last updated
LISP
Author Patrick Henry Winston and Berthold Klaus Paul Horn
LanguageEnglish
Genre Computer science
Publisher Addison-Wesley
Publication date
1989 (3rd Ed.)
Media typebook
Pages611 (3rd Ed.)
ISBN 0-201-08319-1
005.13 3
Website https://people.csail.mit.edu/phw/Books/index.html

LISP is a university textbook on the Lisp programming language, written by Patrick Henry Winston and Berthold Klaus Paul Horn. It was first published in 1981, and the third edition of the book was released in 1989. [1] The book is intended to introduce the Lisp programming language and its applications. [2] :Preface

Contents

Editions

Three editions were published in 1981, 1984, and 1989 respectively. The first edition replaced part 2 in the first edition of Artificial Intelligence (Winston), and introduced the use of Maclisp, along with an appendix for Interlisp users. [3] The second edition introduced Common Lisp [4] :Preface and Flavors. [4] :239 The third edition added the Common Lisp Object System, along with improved procedure definitions, and added topics. [2] :Preface [5]

Content

LISP covers the basics of the language using the Common Lisp standard including the Common Lisp Object System (CLOS). Applications are drawn from expert systems, natural language interfaces, symbolic mathematics, probability bounds, project simulation, and visual object recognition. Problem solving paradigms including search, forward chaining, and problem reduction are explained. Constraint propagation, and backward chaining are discussed. Other topics include mapping, streams, and delayed evaluation. [2] :Back cover

Reception

In Computers and the Humanities Volume 17, No. 1 (1983), The first edition of LISP was reviewed by Denis L. Baggi. He credited the books organization, progression and the part two practical implementations, but questioned the use of Maclisp for the examples. Standard Lisp (created for the Reduce computer algebra system) [6] was suggested as a better choice. [7]

Daniel Weinreb reviewed the 2nd edition for ACM SIGPLAN Lisp Pointers. He noted significant improvements in the example code, facilitated by the use of Common Lisp, instead of being limited to the lowest common denominator code, driven by the diverse Lisp dialects of the past. He highlighted the quality of book design and example code presentation, saying the text was clear and well-organized. He recommended that users of the book have a firm grounding in some programming language, or be willing to put in extra effort. The code examples were highlighted as being the strength of the book, being small enough to understand, but large enough to illustrate and motivate important techniques in symbolic programming. [8]

In a 1993 review of Artificial Intelligence (Winston) by Doris Appleby, the 1989 edition of LISP was reviewed in its role as a companion reference. Appleby found the book worked best as a text when a technique was described, followed by a toy system, then a commercial application. Backward chaining, Zookeeper, and MYCIN were mentioned as examples. The supplied sample code for rule-based systems, and version space learning was highlighted as supporting the text quite well. [5]

In Paradigms of AI Programming, Peter Norvig suggested a number of introductory Lisp textbooks. LISP was highlighted as covering the most ground in terms of programming advice, with the caveat that it may be difficult for beginners. [9] :xiv Cited subject areas included pattern matching, [9] :168 [9] :213 logic programming, [9] :367 and Lisp interpreter development. [9] :777

Related Research Articles

<span class="mw-page-title-main">Common Lisp</span> Programming language standard

Common Lisp (CL) is a dialect of the Lisp programming language, published in American National Standards Institute (ANSI) standard document ANSI INCITS 226-1994 (S2018). The Common Lisp HyperSpec, a hyperlinked HTML version, has been derived from the ANSI Common Lisp standard.

Knowledge representation and reasoning is the field of artificial intelligence (AI) dedicated to representing information about the world in a form that a computer system can use to solve complex tasks such as diagnosing a medical condition or having a dialog in a natural language. Knowledge representation incorporates findings from psychology about how humans solve problems and represent knowledge, in order to design formalisms that will make complex systems easier to design and build. Knowledge representation and reasoning also incorporates findings from logic to automate various kinds of reasoning.

<span class="mw-page-title-main">Lisp (programming language)</span> Programming language family

Lisp is a family of programming languages with a long history and a distinctive, fully parenthesized prefix notation. Originally specified in the late 1950s, it is the second-oldest high-level programming language still in common use, after Fortran. Lisp has changed since its early days, and many dialects have existed over its history. Today, the best-known general-purpose Lisp dialects are Common Lisp, Scheme, Racket, and Clojure.

<span class="mw-page-title-main">Lisp machine</span> Computer specialized in running Lisp

Lisp machines are general-purpose computers designed to efficiently run Lisp as their main software and programming language, usually via hardware support. They are an example of a high-level language computer architecture. In a sense, they were the first commercial single-user workstations. Despite being modest in number Lisp machines commercially pioneered many now-commonplace technologies, including effective garbage collection, laser printing, windowing systems, computer mice, high-resolution bit-mapped raster graphics, computer graphic rendering, and networking innovations such as Chaosnet. Several firms built and sold Lisp machines in the 1980s: Symbolics, Lisp Machines Incorporated, Texas Instruments, and Xerox. The operating systems were written in Lisp Machine Lisp, Interlisp (Xerox), and later partly in Common Lisp.

Maclisp is a programming language, a dialect of the language Lisp. It originated at the Massachusetts Institute of Technology's (MIT) Project MAC in the late 1960s and was based on Lisp 1.5. Richard Greenblatt was the main developer of the original codebase for the PDP-6; Jon L. White was responsible for its later maintenance and development. The name Maclisp began being used in the early 1970s to distinguish it from other forks of PDP-6 Lisp, notably BBN Lisp.

Kent M. Pitman (KMP) is a programmer who has been involved for many years in the design, implementation, and use of systems based on the programming languages Lisp and Scheme. Since 2010, he has been President of HyperMeta, Inc.

<span class="mw-page-title-main">Symbolic artificial intelligence</span> Methods in artificial intelligence research

In artificial intelligence, symbolic artificial intelligence is the term for the collection of all methods in artificial intelligence research that are based on high-level symbolic (human-readable) representations of problems, logic and search. Symbolic AI used tools such as logic programming, production rules, semantic nets and frames, and it developed applications such as knowledge-based systems, symbolic mathematics, automated theorem provers, ontologies, the semantic web, and automated planning and scheduling systems. The Symbolic AI paradigm led to seminal ideas in search, symbolic programming languages, agents, multi-agent systems, the semantic web, and the strengths and limitations of formal knowledge and reasoning systems.

<span class="mw-page-title-main">Peter Norvig</span> American computer scientist (born 1956)

Peter Norvig is an American computer scientist and Distinguished Education Fellow at the Stanford Institute for Human-Centered AI. He previously served as a director of research and search quality at Google. Norvig is the co-author with Stuart J. Russell of the most popular textbook in the field of AI: Artificial Intelligence: A Modern Approach used in more than 1,500 universities in 135 countries.

<i>Artificial Intelligence: A Modern Approach</i> Book by Stuart J. Russell and Peter Norvig

Artificial Intelligence: A Modern Approach (AIMA) is a university textbook on artificial intelligence, written by Stuart J. Russell and Peter Norvig. It was first published in 1995, and the fourth edition of the book was released on 28 April 2020.

General Problem Solver (GPS) is a computer program created in 1957 by Herbert A. Simon, J. C. Shaw, and Allen Newell intended to work as a universal problem solver machine. In contrast to the former Logic Theorist project, the GPS works with means–ends analysis.

Flavors, an early object-oriented extension to Lisp developed by Howard Cannon at the MIT Artificial Intelligence Laboratory for the Lisp machine and its programming language Lisp Machine Lisp, was the first programming language to include mixins. Symbolics used it for its Lisp machines, and eventually developed it into New Flavors; both the original and new Flavors were message passing OO models. It was hugely influential in the development of the Common Lisp Object System (CLOS).

In the history of artificial intelligence, an AI winter is a period of reduced funding and interest in artificial intelligence research. The field has experienced several hype cycles, followed by disappointment and criticism, followed by funding cuts, followed by renewed interest years or even decades later.

<span class="mw-page-title-main">Patrick Winston</span> American computer scientist (1943–2019)

Patrick Henry Winston was an American computer scientist and professor at the Massachusetts Institute of Technology. Winston was director of the MIT Artificial Intelligence Laboratory from 1972 to 1997, succeeding Marvin Minsky, who left to help found the MIT Media Lab. Winston was succeeded as director by Rodney Brooks.

New Implementation of LISP (NIL) is a programming language, a dialect of the language Lisp, developed at the Massachusetts Institute of Technology (MIT) during the 1970s, and intended to be the successor to the language Maclisp. It is a 32-bit implementation, and was in part a response to Digital Equipment Corporation's (DEC) VAX computer. The project was headed by Jon L White, with a stated goal of maintaining compatibility with MacLisp while fixing many of its problems.

STUDENT is an early artificial intelligence program that solves algebra word problems. It is written in Lisp by Daniel G. Bobrow as his PhD thesis in 1964. It was designed to read and solve the kind of word problems found in high school algebra books. The program is often cited as an early accomplishment of AI in natural language processing.

<i>Paradigms of AI Programming</i> 1992 book by Peter Norvig

Paradigms of AI Programming: Case Studies in Common Lisp (ISBN 1-55860-191-0) is a well-known programming book by Peter Norvig about artificial intelligence programming using Common Lisp.

CGOL is an alternative syntax featuring an extensible algebraic notation for the Lisp programming language. It was designed for MACLISP by Vaughan Pratt and subsequently ported to Common Lisp.

<span class="mw-page-title-main">David A. Moon</span> American computer scientist

David A. Moon is a programmer and computer scientist, known for his work on the Lisp programming language, as co-author of the Emacs text editor, as the inventor of ephemeral garbage collection, and as one of the designers of the Dylan programming language. Guy L. Steele Jr. and Richard P. Gabriel (1993) name him as a leader of the Common Lisp movement and describe him as "a seductively powerful thinker, quiet and often insulting, whose arguments are almost impossible to refute".

Artificial Intelligence (AI) is a university textbook on artificial intelligence, written by Patrick Henry Winston. It was first published in 1977, and the third edition of the book was released in 1992. It was used as the course textbook for MIT course 6.034.

References

  1. Touretzky, David (2013). Common Lisp: A Gentle Introduction to Symbolic Computation. Mineola NY: Dover Publications Inc. p. FR-2. ISBN   978-0486498201.
  2. 1 2 3 Winston, Patrick; Horn, Berthold (1989). LISP. Reading MA: Morgan Kaufmann Publishers. ISBN   0-201-08319-1.
  3. Winston, Patrick; Horn, Berthold (1981). LISP. Reading MA: Morgan Kaufmann Publishers. Preface. ISBN   0-201-08329-9.
  4. 1 2 Winston, Patrick; Horn, Berthold (1984). LISP. Reading MA: Morgan Kaufmann Publishers. ISBN   0-201-08372-8.
  5. 1 2 Doris Appleby (1 July 1993). "Artificial intelligence (3rd ed.) review CR116559". Association for Computing Machinery.
  6. Pitman, Kent (2005). "Common Lisp HyperSpec Section 1.1.2". LispWorks Ltd. Retrieved 2024-05-22.
  7. Baggi, Denis L. (1983). "Review of LISP by Patrick Henry Winston". Computers and the Humanities. 17 (1): 33–36. ISSN   0010-4817.
  8. Weinreb, Daniel (1987-08-01). "Lisp, second edition". ACM SIGPLAN Lisp Pointers. 1 (3): 47–48. doi:10.1145/1317203.1317212. ISSN   1045-3563.
  9. 1 2 3 4 5 Norvig, Peter (1991). Paradigms of AI Programming: Case Studies in Common Lisp. San Francisco CA: Morgan Kaufmann Publishers. ISBN   1-55860-191-0.

See also