Book Chapter

Herbrand constraints in HAL

B Demoen, MG De La Banda, W Harvey, K Marriott, D Overton, PJ Stuckey

Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) | SPRINGER-VERLAG BERLIN | Published : 2004

Abstract

Mercury is a logic programming language that is considerably faster than traditional Prolog implementations, but lacks support for full unification. HAL is a new constraint logic programming language specifically designed to support the construction of and experimentation with constraint solvers, and which compiles to Mercury. In this paper we describe the HAL Herbrand constraint solver and show how by using PARMA bindings, rather than the standard WAM representation, we can implement a solver that is compatible with Mercury's term representation. This allows HAL to make use of Mercury's more efficient procedures for handling ground terms, and thus achieve Mercury-like efficiency while suppo..

View full abstract

University of Melbourne Researchers