14.9 Analysis of Prolog

14.9.1 Prolog Vis-à-Vis Predicate Calculus

The following are a set of interrelated impurities in Prolog with respect to predicate calculus:

  • The Capability to Impart Control: To conduct pure declarative programming, the programmer should be neither permitted nor required to affect the control flow for program success. However, as a practical matter, sometimes a Prolog programmer must be aware of, if not affect, program control, as a consequence of a depth-first search strategy. Unlike declarative programming in Prolog, using a declarative style of programming in the Mercury programming language is considered more pure because Mercury does not support a cut operator or other control facilities intended to circumvent or ...

Get Programming Languages: Concepts and Implementation now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.