Towards a Declarative and Efficient Glass-Box CLP Language.
Robert Kowalski, Francesca Toni, Gerhard Wetzel · 1994
this paper to improve its efficiency. [CaLa94] describes an efficient program to solve a JSSP, whose performance is comparable with those of OR algorithms. For example, it solves the 10\\Theta10 JSS benchmark in about 20 minutes. This program is implemented in a hybrid (procedural and declarative) glass-box CLP language. In this paper we have illustrated how it might be possible to encode the techniques suggested in [CaLa94] in a purely declarative glass-box CLP language. FPRs are similar both in syntax and semantics to the CHRs defined in [Fr92], but FPRs are used in the context of if-and-only-if definitions, while CHRs are used with Prolog-style programs. The explicit representation of disjunctions in our approach is important, because it enables us to reduce disjuncts to false without splitting. This strategy seems to be built into many OR algorithms. It is not clear how Fruhwirth's CHR approach could achieve a similar behaviour without the implementation of a meta-interpreter. To conclude, although there is already a rather large number of (C)LP languages, an efficient glassbox language which is purely declarative, yet allows a procedural reading of its propagation rules seems to have a great potential.