PROFF: A PRolog OFFline partial evaluator (web interface)
Click here for a short description of the technique...

PROFF is an offline partial evaluator for Prolog programs. The pre-processing stage performs a size-change analysis (to ensure the termination of the process) and a (monovariant) binding-time analysis (to propagate static information through the program). Then the source program is annotatated by using the information gathered by the previous two analyses. Finally, the proper specialization phase mainly follows the program annotations.

You can find a more detailed description of the tool here, including the source files. A technical description can be found in this paper.

You can either write down the initial program or choose one from the list of examples. Once the program is loaded in, you should provide an abstract atom and an initial call.
Initial programSpecialized program
Log

*** Only tested in Mozilla/Firefox ***

Last update / Germán Vidal