Efficient Analysis of Logic Programs with Dynamic Scheduling
John Wylie Lloyd
Abstract
John Wylie Lloyd
Abstract
The first logic programming languages used a fixed left-to-right atom scheduling rule. Recent logic programming languages, however, usually provide more flexible scheduling in which computation generally proceeds left-toright but some calls are dynamically “delayed” until their arguments are sufficiently instantiated. We give a new framework for the global analysis of logic programming languages with dynamic scheduling which is based on approximating the delayed atoms by a closure operator. We give an example analysis for groundness based on this framework, and give the results of an implementation which demonstrates the method is practical
A significance statement is not available in the OpenAlex record.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
The first logic programming languages used a fixed left-to-right atom scheduling rule. Recent logic programming languages, however, usually provide more flexible scheduling in which computation generally proceeds left-toright but some calls are dynamically “delayed” until their arguments are sufficiently instantiated. We give a new framework for the global analysis of logic programming languages with dynamic scheduling which is based on approximating the delayed atoms by a closure operator. We give an example analysis for groundness based on this framework, and give the results of an implementation which demonstrates the method is practical
Key concepts: Computer science, Logic programming, Scheduling (production processes), Programming language, Dynamic priority scheduling, Functional logic programming, Dynamic logic (digital electronics), Computation