Foundations of logic programming; (2nd extended ed.)
Foundations of logic programming; (2nd extended ed.)
Logic programming: systematic program development
Logic programming: systematic program development
From logic programming to Prolog
From logic programming to Prolog
FOLON: An Environment for Declarative Construction of Logic Programs
PLILP '92 Proceedings of the 4th International Symposium on Programming Language Implementation and Logic Programming
Correct-schema-guided synthesis of steadfast programs
ASE '97 Proceedings of the 12th international conference on Automated software engineering (formerly: KBSE)
Hi-index | 0.00 |
Declarative methodologies for logic program construction have been proposed for Prolog. They roughly consist of 1) building a purely logical version of the program based on a clear declarative semantics and 2) performing a number of checks about modes, types, termination and multiplicity. We plan to define a similar methodology for Mercury. This choice is motivated by the fact that type, mode, and multiplicity must be explicitly specified in Mercury, allowing the compiler to perform the second step above. In order to propose a methodology to perform the first step, we need a declarative semantics for Mercury, which has not yet been explicitly defined. The goal of the paper is to propose such a semantics pursuing simplicity and naturalness. We chose to define the semantics with respect to a unique interpretation domain, called the "universe", which is a kind of higher-order version of the Herbrand universe. Based on this simple domain, the denotation of terms and goals is naturally defined as well as the models of programs. Although the declarative semantics is primarily introduced to improve "manual" program construction by programmers, it could be used in a synthesis context.