First Published in 1977. In the summer of 1971, there was a workshop in an ill-defined field at the intersection of psychology, artificial intelligence, and linguistics. The fifteen participants were in various ways interested in the representation of large systems of knowledge (or beliefs) based upon an understanding process operating upon information expressed in natural language. This book reflects a convergence of interests at the intersection of psychology and artificial intelligence. What is the nature of knowledge and how is this knowledge used? These questions lie at the core of both psychology and artificial intelligence.

Introducing issues in dynamic memory and case-based reasoning, this comprehensive volume presents extended descriptions of four major programming efforts conducted at Yale during the past several years. Each descriptive chapter is followed by a companion chapter containing the micro program version of the information.

The authors emphasize that the only true way to learn and understand any AI program is to program it yourself. To this end, the book develops a deeper and richer understanding of the content through LISP programming instructions that allow the running, modification, and extension of the micro programs developed by the authors.


First published in 1981. This book has been written for those who want to comprehend how a large natural language-understanding program works. Thirty-five professionals in Cognitive Science, mostly psychologists by training, in a summer school were taught to grapple with the details of programming in Artificial Intelligence. As a part of the curriculum designed for this project the authors created what they called micro-programs. These micro-programs were an attempt to give students the flavor of using a large AI program without all the difficulty normally associated with learning a complex system written by another person. Using the authors’ parser, ELI, or story understanding program, SAM, they also gave students the micro versions of these programs, which were very simple versions that operated in roughly the same way as their larger versions, but without all the frills. Students were asked to add pieces to the programs and otherwise modify them in order to learn how they worked.