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 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.
The latest 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:
-
Ecological Partial Deduction:
Preserving Characteristic Trees Without Constraints.
Michael Leuschel.
-
Global Control for Partial Deduction through Characteristic Atoms and Global Trees.
Michael Leuschel and Bern Martens.
-
Controlling Generalisation and Polyvariance in Partial Deduction of
Normal Logic Programs.
Michael Leuschel, Bern Martens, and Danny De Schreye.
ACM Transactions on Programming
Languages and Systems (Toplas), volume 20(1), pages 208-258.
-
A Conceptual Embedding of
Folding into Partial Deduction: Towards a Maximal Integration.
Michael Leuschel, Danny De Schreye, and Andre de Waal.
-
Controlling Conjunctive Partial Deduction of Definite Logic Programs.
Robert Glück, Jesper Jørgensen, Bern Martens and Morten H. Sørensen.
- Redundant Argument Filtering of Logic Programs.
Michael Leuschel and Morten H. Sorensen
- Conjunctive Partial Deduction:
Foundations, Control,
Algorithms, and Experiments.
Danny De Schreye, Robert Glück, Jesper Jørgensen,
Michael Leuschel,
Bern Martens
and Morten Heine Sørensen
The Journal of Logic Programming 41, pages 231-277.
November 1999.
The following paper describes experiments done with the system
on the DPPD
library of benchmarks:
Michael Leuschel