Free Downloads
Clause And Effect: Prolog
Programming For The Working
Programmer
This book is for people who have done some programming, either in Prolog or in a language other
than Prolog, and who can find their way around a reference manual. The emphasis of this book is
on a simplified and disciplined methodology for discerning the mathematical structures related to a
problem, and then turning these structures into Prolog programs. This book is therefore not
concerned about the particular features of the language nor about Prolog programming skills or
techniques in general. A relatively pure subset of Prolog is used, which includes the 'cut', but no
input/output, no assert/retract, no syntactic extensions such as if then-else and grammar rules,
and hardly any built-in predicates apart from arithmetic operations. I trust that practitioners of Prolog
program ming who have a particular interest in the finer details of syntactic style and language
features will understand my purposes in not discussing these matters. The presentation, which I
believe is novel for a Prolog programming text, is in terms of an outline of basic concepts
interleaved with worksheets. The idea is that worksheets are rather like musical exercises. Carefully
graduated in scope, each worksheet introduces only a limited number of new ideas, and gives some
guidance for practising them. The principles introduced in the worksheets are then applied to
extended examples in the form of case studies.
Paperback: 143 pages
Publisher: Springer; 1997 edition (October 4, 2013)
Language: English
ISBN-10: 354065237X
ISBN-13: 978-3540652373
ASIN: 3540629718
Product Dimensions: 6.1 x 0.4 x 9.2 inches
Shipping Weight: 10.6 ounces (View shipping rates and policies)
Average Customer Review: 4.3 out of 5 stars  See all reviews (6 customer reviews)
Best Sellers Rank: #1,368,819 in Books (See Top 100 in Books) #8 in Books > Computers &
Technology > Programming > Languages & Tools > Prolog #256 in Books > Computers &
Technology > Programming > Languages & Tools > Compilers #867 in Books > Computers &
Technology > Computer Science > AI & Machine Learning > Intelligence & Semantics
For those who have experience in logic programming, either with Prolog or some other language,
such as Lisp, or even a high-level symbolic programming language like Mathematica or Maple, this
book could serve as a first course or a summary of Prolog programming. Research in logic
programming is still an active area, and the approach taken in logic programming languages seems
more natural from the standpoint of mathematical (predicate) logic. The author, in this short book,
gives the reader an appreciation of Prolog and the philosophy and constructions behind logic
programming. Many examples are employed that illustrate how to code in Prolog and how useful it
can be in real-world applications. In the first chapter, the author gives some justification for
programming in Prolog, such as its symbol manipulation capability, automatic backtracking, the view
that data structures and programs are of the same form, and the relational form of clauses. The
syntax of Prolog is then discussed, and examples given of the three kinds of terms in Prolog.
Readers with some background in category theory will appreciate the discussion more, as the
author does employ some of this in the discussion, for example the view of addition as being a
functor of a term. Terms are drawn in tree form in this chapter and throughout the book. The author
then characterizes a Prolog program as a set of procedures, with each defining a predicate, and
consisting of one or more (Horn) clauses. Unification of terms is discussed as a basic operation that
determines when two clauses can be made equivalent by a substitution of variables. The execution
of a program is viewed as a querying of the clauses, and the goal or e nd of the program is a proof
that the goal is true.
I really like this book. It serves roughly the same purpose for the Prolog language that "The Little
Schemer" serves for Scheme. It presents the Prolog language through a series of examples (called
"worksheets" here), each about a page long. In each example the author walks through the solution
of some problem, discussing the issues that come up. Later in the book, the examples give way to
larger "case studies" of five or ten pages each, in which a more substantial problem is tackled. In my
opinion, this is a very effective way to teach a language like Prolog, and I now understand a lot
about the language I didn't understand before. Prolog is one of those languages that can't be
learned simply by memorizing new syntax and referring to what you already know, because its
execution model (logic programming using unification and backtracking) is so drastically different
from that of most other languages. Therefore, one needs to walk through a lot of examples slowly,
and this is where "Clause and Effect" really shines. I was particularly impressed at how trivially easy
it is to do symbolic algebra in Prolog; I've written programs of this type in Scheme, but the Prolog
versions are much shorter and easier to understand.This book is not perfect, however, and I can't in
good faith give it five stars (though I really want to). There are a fair number of typos scattered
through the text (the author has an errata sheet on his website). Most of these are obvious, but on
occasion I had to spend a lot of time puzzling over whether some bit of code had a typo or not (most
of the time, there was no typo; it was just my understanding that was deficient).
Clause and Effect: Prolog Programming for the Working Programmer Prolog Programming Success
in a Day: Beginners Guide to Fast, Easy and Efficient Learning of Prolog Programming Prolog
Programming Success in a Day: Beginner's Guide to Fast, Easy, and Efficient Learning of Prolog
Programming XSLT 2.0 Programmer's Reference (Programmer to Programmer) Escape Clause: A
Virgil Flowers Novel, Book 9 Escape Clause (Virgil Flowers) Prolog: Reproductive Endocrinology
and Infertility / Critique Book / Assessment Book (ACOG, PROLOG) Prolog ++: The Power of
Object-Oriented and Logic Programming (International Series in Logic Programming) Turbo Prolog
Programmer's Guide PROLOG Wizard: A Wiley Programmer's Reference The Art of Prolog:
Advanced Programming Techniques (Mit Press Series in Logic Programming) The Art of Prolog,
Second Edition: Advanced Programming Techniques (Logic Programming) The Art of Prolog:
Programming Examples - Macintosh (Logic Programming) The Art of Prolog: Programming
Examples - PC (Logic Programming) Professional JSP: Using JavaServer Pages, Servlets, EJB,
JNDI, JDBC, XML, XSLT, and WML to Create Dynamic and Customizable Web Content
(Programmer to Programmer) Microsoft Win32 Programmer's Reference: Introduction Platforms,
and Index (Microsoft Windows Programmer's Reference Library) Beginning ASP.NET 4.5.1: in C#
and VB (Wrox Programmer to Programmer) Professional Jini (Programmer to Programmer)
Microsoft Win32 Programmer's Reference Library: Multimedia (Microsoft Windows Programmer's
Reference Library) Professional ASP.NET 2.0 AJAX (Programmer to Programmer)