Symbolic constraints for meta-logic programming
Henning Christiansen, Davide Martinenghi
Department of Computer Science
Roskilde University, P.O.Box 260, DK-4000 Roskilde, Denmark
Logic programming, with its declarative bias as
well as unification and the direct representation
of linguistic structures, is well qualified for
meta-programming, i.e., programs working with
representations of other programs as their data.
However, constraint techniques seem necessary in
order fully to exploit this paradigm.
In the DEMOII system, the language of
Constraint Handling Rules (CHR) has been used in
order to provide a functionality that appears difficult
to obtain without such means. For example, reversibility
of a meta-interpreter, which can be obtained by means
of constraints, turns it into a powerful program
generator; in the same way, negation-as-failure
implemented by means of constraints provides an
incremental evaluation of integrity constraints.
This paper focuses on the design of such
constraints and their implementation by means of CHR.
Journal of Applied Artificial Intelligence,
vol. 14, pp. 345–367, 2000.