Building constraint solvers with HAL

4Citations
Citations of this article
2Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Experience using constraint programming to solve real-life problems has shown that finding an efficient solution to a problem often requires experimentation with different constraint solvers or even building a problem-specific solver. HAL is a new constraint logic programming language expressly designed to facilitate this process. In this paper we examine different ways of building solvers in HAL. We explain how type classes can be used to specify solver interfaces, allowing the constraint programmer to support modelling of a constraint problem independently of a particular solver, leading to easy “plug and play” experimentation. We compare a number of different ways of writing a simple solver in HAL: using dynamic scheduling, constraint handling rules and building on an existing solver. We also examine how external solvers may be interfaced with HAL, and approaches for removing interface overhead.

Cite

CITATION STYLE

APA

De La Banda, M. G., Jeffery, D., Marriott, K., Nethercote, N., Stuckey, P. J., & Holzbaur, C. (2001). Building constraint solvers with HAL. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 2237, pp. 90–104). Springer Verlag. https://doi.org/10.1007/3-540-45635-x_14

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free