Mode checking in HAL

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

    6 Citations (Scopus)


    Recent constraint logic programming (CLP) languages, such as HAL and Mercury, require type, mode and determinism declarations for predicates. This information allows the generation of efficient target code and the detection of many errors at compile-time. However, mode checking in such languages is difficult since the compiler is required to appropriately re-order literals in the predicate’s definition for each predicate mode declaration. The task is further complicated by the need to handle complex instantiations which interact with type declarations, higher order functions and predicates, and automatic initialization of solver variables. Here we give the first formal treatment of mode checking in strongly typed CLP languages which require reordering of clause body literals during mode checking. We also sketch the mode checking algorithms used in the HAL compiler.
    Original languageEnglish
    Title of host publicationComputational Logic – CL 2000
    Subtitle of host publicationFirst International Conference London, UK, July 24-28, 2000 Proceedings
    EditorsJohn Lloyd, Veronica Dahl, Ulrich Furbach, Manfred Kerber, Kung-Kiu Lau, Catuscia Palamidessi, Luís Moniz Pereira, Yehoshua Sagiv, Peter J. Stuckey
    Place of PublicationBerlin Germany
    Number of pages15
    ISBN (Print)3540677976
    Publication statusPublished - 2000
    EventInternational Conference on Computational Logic 2000 - London, United Kingdom
    Duration: 24 Jul 200028 Jul 2000
    Conference number: 1st (Proceedings)

    Publication series

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


    ConferenceInternational Conference on Computational Logic 2000
    Abbreviated titleCL 2000
    Country/TerritoryUnited Kingdom
    Internet address

    Cite this