skip to content
Programming in Prolog Preview this item
ClosePreview this item

Programming in Prolog

Author: William F Clocksin; C S Mellish
Publisher: Berlin : Springer, ©2003.
Edition/Format:   Print book : English : 5th edView all editions and formats

Originally published in 1981, this was the first textbook on programming in the Prolog language and is still the definitive introductory text on Prolog.


(not yet rated) 0 with reviews - Be the first.

More like this

Find a copy in the library

&AllPage.SpinnerRetrieving; Finding libraries that hold this item...


Document Type: Book
All Authors / Contributors: William F Clocksin; C S Mellish
ISBN: 3540006788 9783540006787
OCLC Number: 803152215
Description: XIII, 299 p. : gràf. ; 24 cm
Contents: 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 Prolog.- 1.2 Objects and Relationships.- 1.3 Programming.- 1.4 Facts.- 1.5 Questions.- 1.6 Variables.- 1.7 Conjunctions.- 1.8 Rules.- 1.9 Summary and Exercises.- 2 A Closer Look.- More detailed presentation of Prolog syntax and data structures.- 2.1 Syntax.- 2.1.1 Constants.- 2.1.2 Variables.- 2.1.3 Structures.- 2.2 Characters.- 2.3 Operators.- 2.4 Equality and Unification.- 2.5 Arithmetic.- 2.6 Summary of Satisfying Goals.- 2.6.1 Successful satisfaction of a conjunction of goals.- 2.6.2 Consideration of goals in backtracking.- 2.6.3 Unification.- 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.- 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.3.1 Confirming the Choice of a Rule.- 4.3.2 The "cut-fail" Combination.- 4.3.3 Terminating a "generate and test".- 4.4 Problems with the Cut.- 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 structure as a list of words, which can be used with the Grammar Rules of Chapter.- 5.1 Reading and Writing Terms.- 5.1.1 Reading Terms.- 5.1.2 Writing Terms.- 5.2 Reading and Writing Characters.- 5.2.1 Reading Characters.- 5.2.2 Writing Characters.- 5.3 Reading English Sentences.- 5.4 Reading and Writing Files.- 5.4.1 Opening and closing streams.- 5.4.2 Changing the current input and output.- 5.4.3 Consulting.- 5.5 DeclaringOperators.- 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 EnteringNew 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 atWork.- 7 More Example Programs.- Many example programs are given, covering a wide range of interests. Examples include list processing, set operations, symbolic differentiation and simplification of formula.- 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 andManipulating Sets.- 7.7 Sorting.- 7.8 Using the Database.- 7.8.1 Random.- 7.8.2 Gensym.- 7.8.3 Findall.- 7.9 SearchingGraphs.- 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.- 7.14 Bibliographic Notes.- 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.4.1 Examining the Goal.- 8.4.2 Examining the Ancestors.- 8.4.3 Altering the Degree of Tracing.- 8.4.4 Altering the Satisfaction of the Goal.- 8.4.5 Other Options.- 8.4.6 Summary.- 8.5 Fixing Bugs.- 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 Problemin Prolog.- 9.3 The Grammar Rule Notation.- 9.4 Adding ExtraArguments.- 9.5 Adding Extra Tests.- 9.6 Summary.- 9.7 Translating Language into Logic.- 9.8 More General Use of Grammar Rules.- 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.- 11 Projects in Prolog.- A selection of suggested exercises, projects and problems.- 11.1 Easier Projects.- 11.2 Advanced Projects.- A Answers to Selected Exercises.- B Clausal Form Program Listings.- C Writing Portable Standard Prolog Programs.- The Prolog standard, writing portable programs and dealing with different Prolog implementations.- C.1 Standard Prolog for Portability.- C.2 Different Prolog Implementations.- C.3 Issues to LookOut For.- C.4 Definitions of some Standard Predicates.- C.4.1 Character Processing.- C.4.2 Directives.- C.4.3 Stream Input/Output.- C.4.4 Miscellaneous.- D CodetoSupport DCGs.- D.1 DCG Support Code.
Responsibility: W.F. Clocksin, C.S. Mellish.


Editorial reviews

Publisher Synopsis

From the reviews of the fifth edition: "This is the fifth and the most recent edition of a legendary book ... . It was probably the first introductory Prolog book and it is still the most gentle Read more...

User-contributed reviews
Retrieving GoodReads reviews...
Retrieving DOGObooks reviews...


Be the first.

Similar Items

Confirm this request

You may have already requested this item. Please select Ok if you would like to proceed with this request anyway.

Linked Data

Primary Entity

<> # Programming in Prolog
    a schema:CreativeWork, schema:Book ;
    library:oclcnum "803152215" ;
    library:placeOfPublication <> ; # Berlin
    library:placeOfPublication <> ;
    schema:about <> ; # Prolog (Llenguatge de programació)
    schema:bookEdition "5th ed." ;
    schema:bookFormat bgn:PrintBook ;
    schema:contributor <> ; # C. S. Mellish
    schema:copyrightYear "2003" ;
    schema:creator <> ; # William F. Clocksin
    schema:datePublished "2003" ;
    schema:exampleOfWork <> ;
    schema:inLanguage "en" ;
    schema:name "Programming in Prolog" ;
    schema:numberOfPages "299" ;
    schema:productID "803152215" ;
    schema:publication <> ;
    schema:publisher <> ; # Springer
    schema:workExample <> ;
    wdrs:describedby <> ;

Related Entities

<> # Prolog (Llenguatge de programació)
    a schema:Intangible ;
    schema:name "Prolog (Llenguatge de programació)" ;

<> # C. S. Mellish
    a schema:Person ;
    schema:familyName "Mellish" ;
    schema:givenName "C. S." ;
    schema:name "C. S. Mellish" ;

<> # William F. Clocksin
    a schema:Person ;
    schema:familyName "Clocksin" ;
    schema:givenName "William F." ;
    schema:name "William F. Clocksin" ;

    a schema:ProductModel ;
    schema:isbn "3540006788" ;
    schema:isbn "9783540006787" ;

Content-negotiable representations

Close Window

Please sign in to WorldCat 

Don't have an account? You can easily create a free account.