A structured alternative to Prolog with simple compositional semantics
Ant\'onio Porto

TL;DR
This paper introduces a structured, compositional semantics for Prolog that simplifies reasoning and preserves expressive power by replacing traditional control constructs with primitive goal types and a denotational framework.
Contribution
It proposes a novel semantic framework for Prolog using simple variable-binding states, enabling easier reasoning and program analysis, while maintaining full expressive power.
Findings
A denotational semantics over variable bindings simplifies reasoning.
An alternative language, Cube, implements these principles.
Prolog's expressive power is preserved with new control constructs.
Abstract
Prolog's very useful expressive power is not captured by traditional logic programming semantics, due mainly to the cut and goal and clause order. Several alternative semantics have been put forward, exposing operational details of the computation state. We propose instead to redesign Prolog around structured alternatives to the cut and clauses, keeping the expressive power and computation model but with a compositional denotational semantics over much simpler states-just variable bindings. This considerably eases reasoning about programs, by programmers and tools such as a partial evaluator, with safe unfolding of calls through predicate definitions. An if-then-else across clauses replaces most uses of the cut, but the cut's full power is achieved by an until construct. Disjunction, conjunction and until, along with unification, are the primitive goal types with a compositional…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
