English

In Praise of Impredicativity: A Contribution to the Formalisation of Meta-Programming

Logic in Computer Science 2020-04-21 v4

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.

Keywords

Cite

@article{arxiv.1807.06051,
  title  = {In Praise of Impredicativity: A Contribution to the Formalisation of Meta-Programming},
  author = {François Bry},
  journal= {arXiv preprint arXiv:1807.06051},
  year   = {2020}
}

Comments

Under consideration for publication in Theory and Practice of Logic Programming