This third edition is a revised and expanded version of Winston and Horn's best-selling introduction to the Lisp programming language and to Lisp-based applications, many of which are possible as a result of advances in Artificial Intelligence technology. The Knowledge You Need The new edition retains the broad coverage of previous editions that has made this book popular both with beginners and with more advanced readers -- coverage ranging from the basics of the language to detailed examples showing Lisp in practice. Based on the CommonLisp standard, this book also introduces CommonLisp's object system, CLOS, and the productivity-promoting techniques enabled by object-oriented programming. Application examples drawn from expert systems, natural language interfaces, and symbolic mathematics are featured, and new applications dealing with probability bounds, project simulation, and visual object recognition are introduced. Special Features of this Edition *Based on extensive teaching experience *Explains key problem solving paradigms, such as search, forward chaining, and problem reduction *Discusses constraint propagation, backward chaining, and key ideas in Prolog *Emphasizes procedure and data abstraction, and other points of programming style and practice *Covers cliches, mapping, streams, delayed evaluation, and techniques for better and faster procedure definition 0201083191B04062001
Author(s): Patrick Henry Winston; Berthold Horn
Edition: 2nd ed
Publisher: Addison-Wesley
Year: 1984
Language: English
Pages: 446
City: Reading, Mass
Preface......Page 3
Contents......Page 7
Part I Basic Lisp......Page 13
01: Understanding Symbol Manipulation......Page 15
02: Basic Lisp Primitives......Page 27
03: Definitions Predicates Conditionals and Binding......Page 51
04: Recursion and Iteration......Page 75
05: Association Lists Properties and Data Abstraction......Page 105
06: Definition Using Lambda......Page 115
07: Printing and Reading......Page 123
08: Optional Parameters Macros and Backquote......Page 133
09: List Storage Surgery and Reclamation......Page 143
10: Examples Involving Arrays and Binary Images......Page 163
11: Examples Involving Search......Page 181
12: Examples From Mathematics......Page 197
Part II Lisp Applications......Page 219
13: The Blocks World......Page 221
14: Rules For Good Programming and Tools for Debugging......Page 231
15: Answering Questions About Goals......Page 239
16: Object-Centered Programming-Message Passing and Flavors......Page 251
17: Symbolic Pattern Matching......Page 265
18: Expert Problem Solving-Using Rules and Streams......Page 281
19: Interpreting Augmented Transition Trees......Page 297
20: Compiling Augmented Transition Trees......Page 305
21: Procedure Writing Programs and English Interfaces......Page 313
22: Implementing Frames......Page 323
23: Lisp in Lisp......Page 333
Solutions to the Problems......Page 345
Bibliography......Page 409
Appendix: Using Common Lisp......Page 429
Index of Defined Procedures......Page 433
Index of Common Lisp Primitives Used in this Book......Page 439
General Index......Page 441
Current page......Page 81