To the gates of HAL: a HAL tutorial

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

    13 Citations (Scopus)


    Experience using constraint programming to solve real-life problems has shown that finding an efficient solution to the problem often requires experimentation with different constraint solvers or even building a problem-specific constraint solver. HAL is a new constraint logic programming language expressly designed to facilitate this process. It provides semi-optional type, mode and determinism declarations. These allow natural constraint specification by means of type overloading, better compile-time error checking and generation of more efficient run-time code. Importantly, it provides type classes which can be used to specify solver interfaces, allowing the constraint programmer to support modelling of a constraint problem independent of a particular solver, leading to easy “plug and play” experimentation with different solvers. Other interesting features include mutable global variables for implementing a constraint store, and dynamic scheduling and Constraint Handling Rules (CHRs) for combining, extending and writing new constraint solvers.
    Original languageEnglish
    Title of host publicationFunctional and Logic Programming
    Subtitle of host publication6th International Symposium, FLOPS 2002 Aizu, Japan, September 15-17, 2002 Proceedings
    EditorsZhenjiang Hu, Mario Rodriguez-Artalejo
    Place of PublicationBerlin Germany
    Number of pages20
    ISBN (Print)3540442332
    Publication statusPublished - 2002
    EventInternational Symposium on Functional and Logic Programming 2002 - Aizu, Japan
    Duration: 15 Sep 200217 Sep 2002
    Conference number: 6th (Proceedings)

    Publication series

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


    ConferenceInternational Symposium on Functional and Logic Programming 2002
    Abbreviated titleFLOPS 2002
    Internet address

    Cite this