Article contents
In Praise of Impredicativity: A Contribution to the Formalization of Meta-Programming
Published online by Cambridge University Press: 25 February 2019
Abstract
Processing programs as data is one of the successes of functional and logic programming. Higher-order functions, as program-processing programs are called in functional programming, and meta-programs, as they are called in logic programming, are widespread declarative programming techniques. In logic programming, there is a gap between the meta-programming practice and its theory: The formalizations of meta-programming do not explicitly address its impredicativity and are not fully adequate. This article aims at overcoming this unsatisfactory situation by discussing the relevance of impredicativity to meta-programming, by revisiting former formalizations of meta-programming, and by defining Reflective Predicate Logic, a conservative extension of first-order logic, which provides a simple formalization of meta-programming.
- Type
- Original Article
- Information
- Creative Commons
- This is an Open Access article, distributed under the terms of the Creative Commons Attribution licence (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted re-use, distribution, and reproduction in any medium, provided the original work is properly cited.
- Copyright
- © Cambridge University Press 2019
Footnotes
The author is thankful to Norbert Eisinger, Bob Kowalski, and Antonius Weinzierl for fruitful discussions on the subject of this article. The author acknowledges useful hints from the journal area editor Michael J. Maher, from the anonymous reviewers, and from the audience of the 21st International Conference on Applications of Declarative Programming and Knowledge Management (INAP 2017) during which part of the work reported about in this article has been presented in a talk without associated publication. The author is thankful to Norbert Eisinger and Elke Kroiß for their help in correcting typos and stylistic lapses in drafts of this article.
References
- 2
- Cited by