Towards a Parallel Virtual Machine for Functional Logic Programming

Author Abdulla Alqaddoumi

Thumbnail PDF


  • Filesize: 310 kB
  • 4 pages

Document Identifiers

Author Details

Abdulla Alqaddoumi

Cite AsGet BibTex

Abdulla Alqaddoumi. Towards a Parallel Virtual Machine for Functional Logic Programming. In Technical Communications of the 26th International Conference on Logic Programming. Leibniz International Proceedings in Informatics (LIPIcs), Volume 7, pp. 222-225, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2010)


Functional logic programming is a multi-paradigm programming that combines the best features of functional programming and logic programming. Functional programming provides mechanisms for demand-driven evaluation, higher order functions and polymorphic typing. Logic programming deals with non-determinism, partial information and constraints. Both programming paradigms fall under the umbrella of declarative programming. For the most part, the current implementations of functional logic languages belong to one of two categories: (1) Implementations that include the logic programming features in a functional language. (2) Implementations that extend logic languages with functional programming features. In this paper we describe the undergoing research efforts to build a parallel virtual machine that performs functional logic computations. The virtual machine will tackle several issues that other implementations do not tackle: (1) Sharing of sub-terms among different terms especially when such sub-terms are evaluated to more than one value (non-determinism). (2) Exploitation of all forms of parallelism present in computations. The evaluation strategy used to evaluate functional logic terms is needed narrowing, which is a complete and sound strategy.
  • Functional logic programming
  • term rewriting system
  • non-determinism
  • needed narrowing
  • and-parallelism
  • or-parallelism


  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    PDF Downloads