Building constraint solvers with HAL

Maria Jose Garcia De La Banda, David G Jeffery, Kim Marriott, Nicholas Nethercote, Peter J Stuckey, Christian Holzbaur

    Research output: Chapter in Book/Report/Conference proceedingConference PaperResearchpeer-review

    4 Citations (Scopus)


    Experience using constrain programming to solve real-life problems has shown that finding an efficient solution to a problem often requires experimentation with different constrain solvers or even building a problem-specific solver. HAL is a new constrain 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 constrain programmer to support modelling of a constrain 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, constrain 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.
    Original languageEnglish
    Title of host publicationLogic Programming
    Subtitle of host publication17th International Conference, ICLP 2001 Paphos, Cyprus, November 26 – December 1, 2001 Proceedings
    EditorsPhilippe Codognet
    Place of PublicationBerlin Germany
    Number of pages15
    ISBN (Print)3540429352
    Publication statusPublished - 2001
    EventInternational Conference on Logic Programming 2001 - Paphos, Cyprus
    Duration: 26 Nov 20011 Dec 2001
    Conference number: 17th (Proceedings)

    Publication series

    NameLecture Notes in Computer Science
    ISSN (Print)0302-9743


    ConferenceInternational Conference on Logic Programming 2001
    Abbreviated titleICLP 2001
    Internet address

    Cite this