In Praise of Impredicativity: A Contribution to the Formalisation of Meta-Programming
Fran\c{c}ois Bry

TL;DR
This paper advocates for the importance of impredicativity in meta-programming, revisiting formalizations and proposing Reflective Predicate Logic as a more adequate formal framework.
Contribution
It introduces Reflective Predicate Logic, a conservative extension of first-order logic, to better formalize meta-programming with impredicative features.
Findings
Reflective Predicate Logic formalizes meta-programming effectively.
Addresses the gap between practice and theory in logic programming.
Provides a simpler formal framework for impredicative meta-programming.
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 formalisations 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 formalisations of meta-programming and by defining Reflective Predicate Logic, a conservative extension of first-order logic, which provides a simple formalisation of meta-programming.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
