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

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” u...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:Information and computation Ročník 137; číslo 1; s. 41 - 67
Hlavní autoři: Falaschi, Moreno, Gabbrielli, Maurizio, Marriott, Kim, Palamidessi, Catuscia
Médium: Journal Article
Jazyk:angličtina
Vydáno: San Diego, CA Elsevier Inc 25.08.1997
Elsevier
Témata:
ISSN:0890-5401, 1090-2651
On-line přístup:Získat plný text
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
Popis
Shrnutí: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.
ISSN:0890-5401
1090-2651
DOI:10.1006/inco.1997.2638