Compiling OR-parallelism into AND-parallelism

Michael Codish, Ehud Shapiro

Research output: Contribution to journalArticlepeer-review

6 Scopus citations


This paper suggests a general method for compiling OR-parallelism into AND-parallelism. An interpreter for an AND/OR-parallel language written in the AND-parallel subset of the language induces a source-to-source transformation from the full language into the AND-parallel subset. This transformation can be identified and implemented as a special purpose compiler or applied using a general purpose partial evaluator. The method is demonstrated to compile a variant of Concurrent Prolog into an AND-parallel subset of the language called Flat Concurrent Prolog (FCP). It is also shown applicable to the compilation of OR-parallel Prolog to FCP. The transformation identified is simple and efficient. The performance of the method is discussed in the context of programming examples. These compare well with conventionally compiled Prolog programs.

Original languageEnglish
Pages (from-to)45-61
Number of pages17
JournalNew Generation Computing
Issue number1
StatePublished - 1 Mar 1987
Externally publishedYes


  • AND-Parallelism
  • OR-Parallelism
  • Partial Evaluation
  • Program Transformation

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Hardware and Architecture
  • Computer Networks and Communications


Dive into the research topics of 'Compiling OR-parallelism into AND-parallelism'. Together they form a unique fingerprint.

Cite this