Programming in Prolog

by W. F. Clocksin

Other authorsC. S. Mellish (Author)
Paper Book, 1994



Call number


Library's review

Indeholder "Preface to the fourth edition", "Preface to the third edition", "Preface to the second edition", "Preface to the first edition", "Chapter 1: Tutorial Introduction. Gives the student a "feel" for what it is like to program in Prolog. Introduces objects, relationships, facts, rules, variables.", "1.1 Facts", "1.2 Questions", "1.3 Variables", "1.4 Conjunctions", "1.5 Rules", "1.6 Summary and Exercises", "Chapter 2: A Closer Look. More detailed presentation of Prolog syntax and data structures", "2.1 Syntax", "2.2 Characters", "2.3 Operators", "2.4 Equality and Unification", "2.5 Arithmetic", "2.6 Summary of Satisfying Goals", "Chapter 3: Using Data Structures. Representing objects and relationships by using "trees" and "lists". Developing several standard Prolog programming techniques", "3.1 Structures and Trees", "3.2 Lists", "3.3 Recursive Search", "3.4 Mapping", "3.5 Recursive Comparison", "3.6 Joining Structures Together", "3.7 Accumulators", "3.8 Difference Structures", "Chapter 4: Backtracking and the "Cut". How a set of clauses generates a set of solutions. Using "cut" to modify the control sequence of running Prolog programs", "4.1 Generating Multiple Solutions", "4.2 The "Cut"", "4.3 Common Uses of the Cut", "4.4 Problems with the Cut", "Chapter 5: Input and Output. Facilities available for the input and output of characters and structures. Developing a program to read sentences from the user and represent the sentence as a list of words, which can be used with the Grammar Rules of Chapter 9.", "5.1 Reading and Writing Terms", "5.2 Reading and Writing Characters", "5.3 Reading English Sentences", "5.4 Reading and Writing Files", "5.5 Declaring Operators", "Chapter 6: Built-in Predicates. Definition of the "core" built-in predicates, with sensible examples of how each one is used. By this point, the reader should be able to read reasonably complex programs, and should therefore be able to absorb the built-in predicates by seeing them in use.", "6.1 Entering New Clauses", "6.2 Success and Failure", "6.3 Classifying Terms", "6.4 Treating Clauses as Terms", "6.5 Constructing and Accessing Components of Structures", "6.6 Affecting Backtracking", "6.7 Constructing Compound Goals", "6.8 Equality", "6.9 Input and Output", "6.10 Handling Files", "6.11 Evaluating Arithmetic Expressions", "6.12 Comparing Terms", "6.13 Watching Prolog at Work", "Chapter 7: More Example Programs. Many example programs are given, covering a wide range of interests. New examples include list processing, set operations, symbolic differentiation and simplification of formulae", "7.1 A Sorted Tree Dictionary", "7.2 Searching a Maze", "7.3 The Towers of Hanoi", "7.4 Parts Inventory", "7.5 List Processing", "7.6 Representing and Manipulating Sets", "7.7 Sorting", "7.8 Using the Database: random, gensym, findall", "7.9 Searching Graphs", "7.10 Sift the Two's and Sift the Three's", "7.11 Symbolic Differentiation", "7.12 Mapping Structures and Transforming Trees", "7.13 Manipulating Programs", "Chapter 8: Debugging Prolog Programs. By this point, the reader will be able to write reasonable programs, and so the problem of debugging will be relevant. Flow of control model, hints about common bugs, techniques of debugging", "8.1 Laying out Programs", "8.2 Common Errors", "8.3 The Tracing Model", "8.4 Tracing and Spy Points", "8.5 Fixing Bugs", "Chapter 9: Using Prolog Grammar Rules. Applications of existing techniques. Using Grammar Rules. Examining the design decisions for some aspects of analysing natural language with Grammar Rules.", "9.1 The Parsing Problem", "9.2 Representing the Parsing Problem in Prolog", "9.3 The Grammar Rule Notation", "9.4 Adding Extra Arguments", "9.5 Adding Extra Tests", "9.6 Summary", "Chapter 10: The Relation of Prolog to Logic. Predicate Calculus, clausal form, resolution theorem proving, logic programming", "10.1 Brief Introduction to Predicate Calculus", "10.2 Clausal Form", "10.3 A Notation for Clauses", "10.4 Resolution and Proving Theorems", "10.5 Horn Clauses", "10.6 Prolog", "10.7 Prolog and Logic Programming", "Chapter 11: Projects in Prolog: A selection of suggested exercises, projects, and problems", "11.1 Easier Projects", "11.2 Advanced Projects", "Appendices", "A: Answers to Selected Exercises", "B. Clausal Form Program Listings", "C: Different Prolog Implementations", "D: Edinburgh Prolog", "E: micro-Prolog", "Index".

Prolog har aldrig været mit favoritsprog, endsige på top 50 listen. Man har taget unification algoritmen og lavet et sprog udenom.
Ikke min kop te. Typografien i denne udgave er ikke specielt god, men om den så havde været 20 gange bedre, så havde det ikke reddet bogen.
… (more)


Berlin : Springer, 1994.


Originally published in 1981, this was the first textbook on programming in the Prolog language and is still the definitive introductory text on Prolog. Though many Prolog textbooks have been published since, this one has withstood the test of time because of its comprehensiveness, tutorial approach, and emphasis on general programming applications. Prolog has continued to attract a great deal of interest in the computer science community, and has turned out to be a basis for an important new generation of programming languages and systems for Artificial Intelligence. Since the previous edition of Programming in Prolog, the language has been standardised by the International Organization for Standardization (ISO) and this book has been updated accordingly. The authors have also introduced some new material, clarified some explanations, corrected a number of minor errors, and removed appendices about Prolog systems that are now obsolete.… (more)

User reviews

LibraryThing member aleph123
let's just say: I read and studied the first edition at the University of Turin (phocopies, poor student); I bought the second edition (I will not bother to add it online); I bought the third edition... so, I liked the book, it seems!


Original language


Physical description

281 p.; 23.3 cm


3540583505 / 9783540583509

Local notes

Omslag: Ikke angivet
Omslaget viser en dråbe, der falder ned i noget vand
Indskannet omslag - N650U - 150 dpi
"Et nyt sprog er som en dråbe i havet?"
Page: 0.3038 seconds