The appeal of constraint programming (CP) lies in compositionality – the ability to mix and match constraints as needed. However, this flexibility typically does not extend to the types of variables. Solvers usually support only a small set of pre-defined variable types, and extending this is not typically a simple exercise: not only must the solver engine be updated, but then the library of supported constraints must be re-implemented to support the new type. In this paper, we attempt to ease this second step. We describe a system for automatically deriving a native-code implementation of a global constraint (over novel variable types) from a declarative specification, complete with the ability to explain its propagation, a requirement if we want to make use of modern lazy clause generation CP solvers. We demonstrate this approach by adding support for wrapped-integer variables to chuffed, a lazy clause generation CP solver.
@InProceedings{gange_et_al:OASIcs.ICLP.2016.13, author = {Gange, Graeme and Stuckey, Peter J.}, title = {{Constraint Propagation and Explanation over Novel Types by Abstract Compilation}}, booktitle = {Technical Communications of the 32nd International Conference on Logic Programming (ICLP 2016)}, pages = {13:1--13:14}, series = {Open Access Series in Informatics (OASIcs)}, ISBN = {978-3-95977-007-1}, ISSN = {2190-6807}, year = {2016}, volume = {52}, editor = {Carro, Manuel and King, Andy and Saeedloei, Neda and De Vos, Marina}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/OASIcs.ICLP.2016.13}, URN = {urn:nbn:de:0030-drops-67437}, doi = {10.4230/OASIcs.ICLP.2016.13}, annote = {Keywords: constraint programming, program synthesis, program analysis} }
Feedback for Dagstuhl Publishing