Computing With Logic: Logic Programming With Prolog by David Maier, David S. Warren
1988 | ISBN: 0805366814 | 535 pages | DJVU | 3,7 MB
A critical property of a programming language is its level of abstraction. We want to program in a more declarative style—saying what a program should compute, rather than how to compute it. In logic programming we define properties and relationships for the objects of interest, and the system determines how to compute with those objects. In this paradigm programming becomes setting up constraints with knowns and unknowns. The system solves for the unknowns, analogously to solving linear equations or to a spreadsheet filling in values of empty cells. There are some key differences, though, between the latter examples and the kind of constraints solving in logic programming.