ppeval is a hybrid approach to the partial evaluation of logic programs. The distinguishing feature of ppeval is that it can transform some sequential conjunctions into parallel ones, thus further improving the efficiency of residual programs.

It takes the following inputs:

  • a logic program (you can choose one of the list, edit it or write it down a new one), e.g., ppeval/fib.pl
  • an initial atomic query, e.g., fibonacci(N,F)
  • the associated set of call patterns for the query indicating the ground arguments (i.e., a list of lists of integers), like [1] indicating that the first argument is ground at run time, and
  • the sharing call pattern. e.g., [[1],[2]] indicating that the two arguments of fibonacci do not share common variables.

A technical description can be found in this paper:

  • Germán Vidal. Annotation of Logic Programs for Strict Independent AND-Parallelism by Partial Evaluation. ICLP 2012. PDF

Check the web interface in the next tab.

Please let me know if you have any question or comment to gvidal@dsic.upv.es.

Source program
Choose a file:
Atomic query:
Groundness call pattern: Sharing call pattern:

Residual program: