Skip to main navigation Skip to search Skip to main content

Constraint Logic Programming with Dynamic Scheduling: A Semantics Based on Closure Operators

  • and Physics University of Udine
  • University of Pisa
  • Monash University
  • University of Genoa

Research output: Contribution to journalArticlepeer-review

12 Citations (Scopus)

Abstract

The first logic programming languages, such as Prolog, used a fixed left-to-right atom scheduling rule. Recent logic programming languages, however, provide more flexible scheduling in which there is a default computation rule such as left-to-right but in which some calls are dynamically "delayed" until their arguments are sufficiently instantiated to allow the call to run efficiently. Such languages include constraint logic programming languages, since most implementations of these languages delay constraints which are "too hard." From the semantic point of view, the fact that an atom must be delayed under certain conditions, causes the standard semantics of (constraint) logic programming to be no longer adequate to capture the meaning of a program. In our paper we attack this problem and we develop a denotational semantics for constraint logic programming with dynamic scheduling. The key idea is that the denotation of an atom or goal is a set of closure operators, where different closure operators correspond to different sequences of rule choices.

Original languageEnglish
Pages (from-to)41-67
Number of pages27
JournalInformation and Computation
Volume137
Issue number1
DOIs
Publication statusPublished - 25 Aug 1997
Externally publishedYes

Fingerprint

Dive into the research topics of 'Constraint Logic Programming with Dynamic Scheduling: A Semantics Based on Closure Operators'. Together they form a unique fingerprint.

Cite this