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

12Citations
Citations of this article
8Readers
Mendeley users who have this article in their library.

This article is free to access.

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. © 1997 Academic Press.

Cite

CITATION STYLE

APA

Falaschi, M., Gabbrielli, M., Marriott, K., & Palamidessi, C. (1997). Constraint Logic Programming with Dynamic Scheduling: A Semantics Based on Closure Operators. Information and Computation, 137(1), 41–67. https://doi.org/10.1006/inco.1997.2638

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free