Determinacy Testing for Nondeterminate Logic Programming Languages

2Citations
Citations of this article
5Readers
Mendeley users who have this article in their library.

Abstract

This paper describes an algorithm for the code generation of determinacy testing for nondeterminate flat concurrent logic programming languages. Languages such as Andorra and Pandora require that procedure invocations suspend if there is more than one candidate clause potentially satisfying the goal. The algorithm described has been developed specifically for a variant of flat Pandora based on FGHC, although the concepts are general. We have extended Kliger and Shapiro's decision-graph construction algorithm to compile “don't-know” procedures that must suspend for nondeterminate goal invocation. The determinacy test is compiled into a decision graph quite different from those of committed-choice procedures: They are more similar to decision trees optimized by code sharing. We present both empirical data of compilation results 1994, and a correctness proof for our code-generation algorithm. © 1994, ACM. All rights reserved.

Author supplied keywords

Cite

CITATION STYLE

APA

Tick, E., & Korsloot, M. (1994). Determinacy Testing for Nondeterminate Logic Programming Languages. ACM Transactions on Programming Languages and Systems (TOPLAS), 16(1), 3–34. https://doi.org/10.1145/174625.174626

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