The ECCE Partial Deduction System

Ecce is an automatic online program specialiser for pure Prolog programs. It takes a pure Prolog program and a query of interest and then specialises the program for that particular query. Ecce is maintained by Michael Leuschel. It is based on research and work by Michael Leuschel, Bern Martens, Jesper Jorgensen, Danny De Schreye, Morten Heine Sorensen, Robert Glueck, Andre de Waal, Mauricio Varea, and Stefan Gruner. The source code is now available at Github. An online version is available at

The Implementation

Ecce is implemented in SICStus Prolog. It was ported from Prolog by BIM and should still be considered a prototype. Please report any bugs you find.

An older source release (February 3rd 2004) can be found here. You can download the sources of the previous version of the system here. Please consult the Read-Me File To get the very latest version, please contact me.

There are now also precompiled versions (for Mac OSX, Linux, Windows) of the latest version available for download. They are called Ecce-Light, as one cannot change the unfolding and generalisation settings, but one does not need a SICStus Prolog license and the tool should be straightforward to use, via its Tcl/Tk interface.

Pointers to the Research

The implementation of the ECCE system is mainly based on the following research papers: The following paper describes experiments done with the system on the DPPD library of benchmarks:
Michael Leuschel