Prolog: A Logical Approach
Procedural programming languages, such as FORTRAN, Pascal, and C, expect the programmer to build a representation of the solution to a problem using a model of the execution process of a computer. The goal of logic programming is to provide a higher level formalism, in which the solution is represented using a formal representation that was in use before computers were invented: human reasoning. The present volume starts with an explanation of how logic may be used as a programming language, and then explains the practical limitations that at present restrict logic programmers to the use of the subset of logic embodied in the Prolog programming language. Enhancements to Prolog that compensate for the weakness of its underlying logic, but compromise the purity of the language are then introduced. Most Prolog systems add to the logical core of the language a bewildering variety of extra features for procedural tasks such as input/output. The second part of the book presents some of the most common features, including facilities that are common to all Prologs. There is also an account of more abstruse topics such as garbage collection. The third part of the volume is concerned with programming style. Its principal aim is to show that despite the illogicalities in Prolog, a number of design criteria are available that conform to the principles of logic programming. Efficiency of programs is also considered at length. An approach to debugging Prolog programs is discussed and there is an extended example showing how an application is developed.
What people are saying - Write a review
We haven't found any reviews in the usual places.
16 other sections not shown
allow append approach argument arithmetic arity ASCII assert atom backtracking behaviour bignums Bishop of Truro brackets breadth-first search built-in predicates Chapter character choice point database debugging declarative programming defined definition denotes elements evaluated example execution Exercise EXIT extra fact FAIL REDO formal FORTRAN function functor garbage collection give goal clause implementation infix integer literal logic programming logic specifications look matches mode declaration Mode errors module Note noun object operator declarations problem program clauses programming language Prolog program Prolog systems Prolog term query reader relation represent representation resatisfiable result rewrite rewritten routine second clause side causes side effect simple solution set stack string structure substitution succeeds Suppose syntax tail goal tail recursive things tokens true unifiable valid weakly sound write a predicate written
All Book Search results »
Natural Language Computing: An English Generative Grammar in Prolog
Ray C. Dougherty
No preview available - 1994