Constraint-Based Mode Analysis of Mercury Programs

Zoltan Somogyi
(Joint work with David Overton and Peter J. Stuckey)
Dept of Computer Science and Software Enginneering
University of Melbourne, Austalia

Recent logic programming languages, such as Mercury and HAL, 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. Unfortunately, mode checking in such languages is difficult. One of the main reasons is that, for each predicate mode declaration, the compiler is required to decide which parts of the procedure bind which variables, and how conjuncts in the predicate definition should be re-ordered to enforce this behaviour. Current mode checking systems limit the possible modes that may be used because they do not keep track of aliasing information, and have only a limited ability to infer modes, since inference does not perform reordering. In this paper we develop a mode inference system for Mercury based on mapping each predicate to a system of Boolean constraints that describe where its variables can be produced. This allows us handle programs that are not supported by the existing system.

ASTEC seminar
May 11, 2004

Place: Information technology, Uppsala University
Room: 1245
Time: 14.15-15.00 (+ discussions)

Room 1245 is in building 1, floor 2 (in the northern part of the building).

Everyone is welcome !

Updated 05-May-2004 17:59 by Roland Grönroos
e-mail: info -at-    Location: