Programming in Prolog Using the ISO Standard

Since the first publishing of Programming in Prolog in 1981, Pro­ log has continued to attract an unexpectedly great deal of interest in the computer science community and is now seen as a potential ba­ sis for an important new generation of programming languages and systems. We hope that Programmin...

Full description

Bibliographic Details
Main Authors: Clocksin, W. F., Mellish, C. S. (Author)
Format: eBook
Language:English
Published: Berlin, Heidelberg Springer Berlin Heidelberg 1984, 1984
Edition:2nd ed. 1984
Subjects:
Online Access:
Collection: Springer Book Archives -2004 - Collection details see MPG.ReNa
Table of Contents:
  • 1. Tutorial Introduction
  • 1.1 Facts
  • 1.2 Questions
  • 1.3 Variables
  • 1.4 Conjunctions
  • 1.5 Rules
  • 1.6 Summary and Exercises
  • 2. A Closer Look
  • 2.1 Syntax
  • 2.2 Characters
  • 2.3 Operators
  • 2.4 Equality and Matching
  • 2.5 Arithmetic
  • 2.6 Summary of Satisfying Goals
  • 3. Using Data Structures
  • 3.1 Structures and Trees
  • 3.2 Lists
  • 3.3 Membership of a List
  • 3.4 Example: Changing a Sentence into Another
  • 3.5 Example: Comparing Alphabetic Order
  • 3.6 Using append and a Parts Inventory
  • 4. Backtracking and “Cut”
  • 4.1 Generating Multiple Solutions
  • 4.2 The “Cut”
  • 4.3 Common Uses of the “Cut”
  • 4.4 Problems with “Cut”
  • 5. Input and Output
  • 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
  • 6. Built-in Predicates
  • 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 Terms
  • 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 Numbers
  • 6.13 Watching Prolog at Work
  • 7. More Example Programs
  • 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 Using clause and retract
  • 8. Debugging Prolog Programs
  • 8.1 Laying out Programs
  • 8.2 Common Errors
  • 8.3 The Tracing Model
  • 8.4 Tracing and Spy Points
  • 8.5 Fixing Bugs
  • 9. Using Prolog 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
  • 10. The Relation of Prolog to Logic
  • 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
  • 11. Projects in Prolog
  • 11.1 Easier Projects
  • 11.2 Advanced Projects
  • Appendices
  • A. Answers to Selected Exercises
  • B. Clausal Form Program Listings
  • C. Different Versions of Prolog
  • D. DECsystem-10 Prolog
  • E. MicroProlog