## The DPPD (Dozens of Problems for Partial Deduction) Library of Benchmarks

Maintained by Michael Leuschel.
Suggestions, comments or new benchmark ideas, are always
welcome and can be mailed to
mal@ecs.soton.ac.uk.
This library aims at being a standard suite of benchmarks for partial
deduction. It started out by the observation that the only accepted
benchmark suite in partial deduction (the so called Lam and Kusalik benchmarks)
contains too few benchmarks, most of which are too simple and too small.
So the idea came up to generate something like the TPTP (Thousands of
Problems for Theorem Proving) library, but for partial deduction.

The library contains benchmarks consisting of declarative logic programs,
together with descriptions on the particular specialisation that
should be performed by a partial deducer. The library also contains
run-time queries by which the specialised program should be compared
to the original.

### Allowed Built-in's

All built-in's which can be given a declarative semantics (maybe under
some restrictions of the selection rule) are allowed.
For instance the following built-in's might occur in some of the
benchmark programs:
- =../2
- call/1
- =/2
- is/2
- =/2
- nonvar/1 (supposed to be delayed until its argument is nonvar)
- ground/1 (supposed to be delayed until its argument is nonvar)
- \=/2, \==/2 (supposed to be delayed until sufficiently instantiated)

### The Benchmarks

The benchmarks marked with (LK) are the original Lam and Kusalik
benchmarks.
Benchmarks marked with (JJ) were brought to my attention or designed
by Jesper Jorgensen.
More details about the origins of the benchmarks can usually be found
in their respective descriptions.

#### Pure LP benchmarks

You can also download a tar'ed version of all the benchmarks
here.
#### CLP benchmarks

### Acknowledgements

Direct or indirect contributors to the above list are:
*
Andre de Waal,
John Gallagher, Robert Glueck, Thomas Horvath, Jesper Jorgensen,
A. Kusalik, J. Lam, Bern Martens,
Alberto Pettorossi, Maurizio Proietti,
Morten Heine Sorensen, Valentin Turchin and Phil Wadler
*.

Michael Leuschel