Clause and Effect und über 1 Million weitere Bücher verfügbar für Amazon Kindle . Erfahren Sie mehr


oder
Loggen Sie sich ein, um 1-Click® einzuschalten.
oder
Mit kostenloser Probeteilnahme bei Amazon Prime. Melden Sie sich während des Bestellvorgangs an. Erfahren Sie mehr
Alle Angebote
Möchten Sie verkaufen? Hier verkaufen
Clause and Effect: Prolog Programming for the Working Programmer
 
 
Beginnen Sie mit dem Lesen von Clause and Effect auf Ihrem Kindle in weniger als einer Minute.

Sie haben keinen Kindle? Hier kaufen oder eine gratis Kindle Lese-App herunterladen.

Clause and Effect: Prolog Programming for the Working Programmer [Englisch] [Taschenbuch]

William F. Clocksin

Preis: EUR 53,45 kostenlose Lieferung. Siehe Details.
  Alle Preisangaben inkl. MwSt.
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Auf Lager.
Verkauf und Versand durch Amazon.de. Geschenkverpackung verfügbar.
Lieferung bis Mittwoch, 30. Mai: Wählen Sie an der Kasse Morning-Express. Siehe Details.

Weitere Ausgaben

Amazon-Preis Neu ab Gebraucht ab
Kindle Edition EUR 34,53  
Taschenbuch EUR 53,45  

Kunden, die diesen Artikel gekauft haben, kauften auch


Produktinformation


Mehr über den Autor

William F. Clocksin
Entdecken Sie Bücher, lesen Sie über Autoren und mehr

Besuchen Sie die Seite von William F. Clocksin auf Amazon

Produktbeschreibungen

Kurzbeschreibung

This workbook is for programmers who are new to Prolog and who wish to write useful Prolog programs. The emphasis is on a simplified and disciplined methodology for discerning the mathematical structures related to a problem, and then turning these structures into Prolog programs. A relatively pure subset of Prolog is used and the focus is not on particular features of the language. The presentation is novel. An outline of basic concepts is interleaved with worksheets, which are graduated in scope and give guidance for practising new ideas. Extended examples in the form of case studies then apply the ideas. The book can be a useful companion to two other Springer books, as a sequel to the author's introductory text "Programming in Prolog" and alongside the reference manual "Prolog: The Standard".

Synopsis

This workbook is for programmers who are new to Prolog, and who wish to write useful Prolog programs. The emphasis is on a simplified and disciplined methodology for discerning the mathematical structures related to a problem, and then turning these structures into Prolog programs. A relatively pure subset of Prolog is used, and the focus is not on particular features of the language. The presentation is novel. An outline of basic concepts is interleaved with worksheets, which are graduated in scope and give guidance for practising new ideas. Extended examples in the form of case studies then apply the ideas. The book can be a useful companion to two other Springer books, as a sequel to the author's introductory text "Programming in Prolog" and alongside the reference manual "Prolog: The Standard".

Welche anderen Artikel kaufen Kunden, nachdem sie diesen Artikel angesehen haben?


In diesem Buch (Mehr dazu)
Einleitungssatz
Prolog is the most widely used programming language to have been inspired by logic programming research. Lesen Sie die erste Seite
Mehr entdecken
Wortanzeiger
Ausgewählte Seiten ansehen
Buchdeckel | Copyright | Inhaltsverzeichnis | Auszug | Stichwortverzeichnis | Rückseite
Hier reinlesen und suchen:

Tags

 (Was ist das?)
Bei einem Tag handelt es sich um ein Schlagwort, das zum Produkt passt.
Tags erleichtern allen Kunden die Suche und die Sortierung ihrer Lieblingsprodukte.
 

Kundenrezensionen

Es gibt noch keine Kundenrezensionen auf Amazon.de
5 Sterne
4 Sterne
3 Sterne
2 Sterne
1 Sterne
Die hilfreichsten Kundenrezensionen auf Amazon.com (beta)
Amazon.com:  4 Rezensionen
21 von 21 Kunden fanden die folgende Rezension hilfreich
Serves its purpose well 20. Juni 2001
Von Dr. Lee D. Carlson - Veröffentlicht auf Amazon.com
Format:Taschenbuch
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.

Data structures in Prolog are discussed in chapter 2 as generalizations of programs using compound terms instead of just constants and variables. Lists are defined and their syntax discussed, along with dot and bracket notation. The implementation of simple arithmetic in Prolog is discussed. Several effective examples are given to illustrate arithmetic and list manipulation in Prolog.

Mappings, which are relations between two data structures, are the topic of chapter 3, and the author gives many examples illustrating how it is used to compose Prolog programs and how they act an both lists and more general trees.

The built-in predicate "cut" is discussed in the next chapter as a predicate to allow backtracking control of the program. The author gives many examples illustrating the problems involved with the use of "cut".

Difference structures are discussed in chapter 5 as a tool to simplify and increase program efficiency. A generalization of the idea of an accumulator, they allow one to work with "holes" in data structures during actual program execution. A list for example, can be viewed as "open" with its elements known only up to a point. It can then be filled in with an empty or a proper list. A difference list, discussed in the chapter, is then a list represented as a pair of "front" and "back", with the back being variable.

Applications of term rewriting are given in chapter 6, with symbolic differentiation launching the discussion. This is the more popular example of what Prolog-type languages can do, and is usually the reason given for beginning the use of symbolic programming languages. The author also discussed matrix multiplication in this chapter.

The next two chapters discuss the representation and manipulation of logical circuits using Prolog, including shift registers and coding circuits. This is followed in chapter 9 by an interesting discussion on how to write a compiler in Prolog, with the author discussing compilation for a single-accumulator computer, a RISC machine, and a stack machine. This is followed in chapter 10 by an even more interesting discussion on how to write a Fast Fourier transform in Prolog.

The last chapter of the book discusses how to use higher-order functional programming techniques in Prolog. For individuals, like myself, who are convinced that functional and logic programming are the most effective programming paradigms, this chapter is very interesting reading. The author defines an evaluator written in Prolog for these higher-order functional programs. Functional programming views computation as a collection of function applications on an expression representing a particular problem, and these functions can then be viewed as arguments to other functions. The lambda calculus from mathematical logic serves as the foundation for functional programming, and the author reviews this quickly, along with the technique of currying, in order to obtain facilities for functional programming in Prolog. Although short, this chapter introduces the reader to a fascinating area, and helpful references are given at the end of the chapter.

10 von 10 Kunden fanden die folgende Rezension hilfreich
Ideal for a short course on Prolog 25. April 2001
Von Ein Kunde - Veröffentlicht auf Amazon.com
Format:Taschenbuch
For years I've tried to find a short Prolog text for my Computer languages course. I cover Prolog in 4 weeks and so didn't want a huge 400+ page text. Clause and Effect comes in at about 1/2 inch thick. I've come to love this one for what it does. It introduces some basic topics, then includes a number of "worksheets" at the end of each chapter. It offers a "learning by doing" approach (the worksheets are short "lab exercises"). A word of warning - don't expect to learn everything about Prolog from this text. It does not go into the philosophy and theory of Prolog and logic programming. But for my needs it's perfect.
5 von 5 Kunden fanden die folgende Rezension hilfreich
The Little Prologer 31. Dezember 2006
Von Michael Vanier - Veröffentlicht auf Amazon.com
Format:Taschenbuch
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). When in doubt, entering the code into a Prolog interpreter works wonders; I really wish the author would make a zip file of all the code examples available for download. A more significant problem than the typos is that the author writes in a very condensed style and either doesn't explain the meaning of some critical terms at all (like tail recursion) or doesn't explain them well enough (like backtracking). Coming from a functional programming background, and having already read a book on Prolog, I could fill in the gaps without much trouble, but many readers will have a harder time than I did. For these readers, I recommend that they use this book as a complement to a book with a more extended discussion of the language; the author's book "Programming in Prolog" is a fine choice for this.

I think that all serious programmers owe it to themselves to learn about logic programming just to see how easy it makes some problems which are quite difficult to solve in more conventional languages (try writing a symbolic differentiation program in a single page of C++, for instance). I heartily recommend this book for this purpose; it will stretch your mind and make you a better programmer.

Kunden diskutieren

Das Forum zu diesem Produkt
Diskussion Antworten Jüngster Beitrag
Noch keine Diskussionen

Fragen stellen, Meinungen austauschen, Einblicke gewinnen
Neue Diskussion starten
Thema:
Erster Beitrag:
Eingabe des Log-ins
 


Aktive Diskussionen in ähnlichen Foren
Kundendiskussionen durchsuchen
Alle Amazon-Diskussionen durchsuchen
   
Ähnliche Foren


Lieblingslisten


Ähnliche Artikel finden


Anhand des Sachgebietes nach ähnlichen Produkten suchen:


Ihr Kommentar


Datenschutzerklärung von Amazon.de Versandbedingungen von Amazon.de Umtausch- & Rücknahme bei Amazon.de