Talks and Poster Presentations (with Proceedings-Entry):
M. Triska, U. Neumerkel, J. Wielemaker:
"Better Termination for Prolog with Constraints";
Talk: 18th Workshop on Logic-based methods in Programming Environments,
2008-12-12; in: "18th Workshop on Logic-based methods in Programming Environments (WLPE'08)",
P. Arenas, D. Zanardini (ed.);
Termination properties of actual Prolog systems with constraints are fragile and difficult to analyse. The lack of the occurs-check, moded and overloaded arithmetical evaluation via is/2 and the occasional nontermination of ﬁnite domain constraints are all sources for invalidating termination results obtained by current termination analysers that rely on idealized assumptions. In this paper, we present solutions to address these problems on the level of the underlying Prolog system. Improved uniﬁcation modes meet the requirements of norm based analysers by oﬀering dynamic occurs-check detection. A generalized ﬁnite domain solver overcomes the shortcomings of conventional arithmetic without signiﬁcant runtime overhead. The solver oﬀers unbounded domains, yet propagation always terminates. Our work improves Prolog´s termination and makes Prolog a more reliable target for termination and type analysis. It is part of SWI-Prolog since version 5.6.50.
Electronic version of the publication:
Created from the Publication Database of the Vienna University of Technology.