Abstract
The problem of partitioning grid-based applications for parallel computing can be solved easily and intuitively in a logic programming language such as Prolog, using only the single assignment property of the logic variable, and not the backtracking. We show that such a logic program can be transformed in a systematic way into a circular functional program, which runs 10 times faster than the original logic program. The transformation proceeds in a number of steps. The first step is novel, and we give a correctness proof. Our reasoning also uses a novel combination of concepts from both the logical and functional paradigms.
Original language | Undefined |
---|---|
Pages (from-to) | 1173-1200 |
Number of pages | 28 |
Journal | Software : practice and experience |
Volume | 29 |
Issue number | 13 |
DOIs | |
Publication status | Published - 1999 |
Keywords
- IR-55692
- EWI-1012