The Nile on eBay
  FREE SHIPPING UK WIDE
 

Clause and Effect

by William F. Clocksin

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. This book is therefore not concerned about the particular features of the language nor about Prolog programming skills or techniques in general.

FORMAT
Paperback
LANGUAGE
English
CONDITION
Brand New


Publisher Description

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".

Notes

A workbook for programmers who are new to Prolog and who wish to write useful Prolog programs, by the first author of the runaway bestseller "Programming in Prolog" (with C.S. Mellish).

Table of Contents

1. Getting Started.- 1.1 Syntax.- 1.2 Programs.- 1.3 Unification.- 1.4 Execution Model.- Worksheet 1: Party Pairs.- Worksheet 2: Drinking Pairs.- Worksheet 3: Affordable Journeys.- Worksheet 4: Acyclic Directed Graph.- 2. Data Structures.- 2.1 Square Bracket Notation.- Worksheet 5: Member.- 2.2 Arithmetic.- Worksheet 6: Length of a List.- Worksheet 7: Inner Product.- Worksheet 8: Maximum of a List.- Worksheet 9: Searching a Cyclic Graph.- 3. Mapping.- Worksheet 10: Full Maps.- Worksheet 11: Multiple Choices.- Worksheet 12: Partial Maps.- Worksheet 13: Removing Duplicates.- Worksheet 14: Partial Maps with a Parameter.- Worksheet 15: Multiple Disjoint Partial Maps.- Worksheet 16: Multiple Disjoint Partial Maps.- Worksheet 17: Full Maps with State.- Worksheet 18: Sequential Maps with State.- Worksheet 19: Scattered Maps with State.- 4. Choice and Commitment.- 4.1 The 'Cut'.- 4.2 A Disjoint Partial Map with Cut.- Worksheet 20: Multiple Choices with Cut.- Worksheet 22: Ordered Search Trees.- Worksheet 23: Frequency Distribution.- 4.3 Taming Cut.- 4.4 Cut and Negation-as-Failure.- 4.5 Negation-as-Failure Can Be Misleading.- Worksheet 24: Negation-as-Failure.- 5. Difference Structures.- Worksheet 25: Concatenating Lists.- Worksheet 26: Rotations of a List.- Worksheet 27: Linearising.- 5.1 Difference Lists.- Worksheet 28: Linearising Efficiently.- Worksheet 29: Linearising Trees.- Worksheet 30: Difference Structures.- Worksheet 31: Rotation Revisited.- Worksheet 32: Max Tree.- 5.2 Solution to Max Tree.- 6. Case Study: Term Rewriting.- 6.1 Symbolic Differentiation.- 6.2 Matrix Products by Symbolic Algebra.- 6.3 The Simplifier.- 7. Case Study: Manipulation of Combinational Circuits.- 7.1 Representing Circuits.- 7.2 Simulation of Circuits.- 7.3 Sums and Products.- 7.4 Simplifying SOP Expressions.- 7.5 Alternative Representation.- 8. Case Study: Clocked Sequential Circuits.- 8.1 Divide-by-Two Pulse Divider.- 8.2 Sequential Parity Checker.- 8.3 Four-Stage Shift Register.- 8.4 Gray Code Counter.- 8.5 Specification of Cascaded Components.- 9. Case Study: A Compiler forThree Model Computers.- 9.1 The Register Machine.- 9.2 The Single-Accumulator Machine.- 9.3 The Stack Machine.- 9.4 Optimisation: Preprocessing the Syntax Tree.- 9.5 Peephole Optimisation.- 10. Case Study: The Fast Fourier Transform in Prolog.- 10.1 Introduction.- 10.2 Notation for Polynomials.- 10.3 The DFT.- 10.4 Example: 8-point DFT.- 10.5 Naive Implementation of the DFT.- 10.6 From DFT to FFT.- 10.7 Merging Common Subexpressions.- 10.8 The Graph Generator.- 10.9 Example Run: 8-point FFT.- 10.10 Bibliographic Notes.- 11. Case Study: Higher-Order Functional Programming.- 11.1 Introduction.- 11.2 A Notation for Functions.- 11.3 The Evaluator.- 11.4 Using Higher-Order Functions.- 11.5 Discussion.- 11.6 Bibliographic Notes.

Promotional

Springer Book Archives

Long Description

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

Feature

* A workbook for programmers in any language who wish to learn Prolog * Conforms to ISO Standard Prolog * Novel presentation using basic concepts, worksheets, and case studies

Description for Sales People

A workbook for programmers who are new to Prolog and who wish to write useful Prolog programs, by the first author of the runaway bestseller "Programming in Prolog" (with C.S. Mellish).

Details

ISBN3540629718
Author William F. Clocksin
Language English
ISBN-10 3540629718
ISBN-13 9783540629719
Media Book
Format Paperback
Imprint Springer-Verlag Berlin and Heidelberg GmbH & Co. K
Subtitle Prolog Programming for the Working Programmer
Place of Publication Berlin
Country of Publication Germany
Affiliation University of Cambridge
Residence ENK
Short Title CLAUSE & EFFECT 1997/E
Pages 143
DOI 10.1007/b62357;10.1007/978-3-642-58274-5
UK Release Date 1997-10-13
Illustrations IX, 143 p.
Publisher Springer-Verlag Berlin and Heidelberg GmbH & Co. KG
Edition Description 1997 ed.
Year 1997
Edition 1997th
Publication Date 1997-10-13
DEWEY 005.13
Audience Undergraduate

TheNile_Item_ID:137609164;