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...
Main Authors: | , |
---|---|
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