[go: up one dir, main page]

Academia.eduAcademia.edu

Clause and effect - Prolog programming for the working programmer

1997

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)