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

被引:2
|
作者
Bry, Francois [1 ]
机构
[1] Ludwig Maximilian Univ Munich, Inst Informat, Munich, Germany
关键词
logic programming; meta-programming; model theory; Barber Paradox; Russell's Paradox; reflection; SELF-REFERENCE; LOGIC; SEMANTICS; LANGUAGES; PROLOG; FOUNDATIONS; KNOWLEDGE; MODULES; BELIEF;
D O I
10.1017/S1471068419000024
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:99 / 146
页数:48
相关论文
共 50 条
  • [1] Typed Syntactic Meta-programming
    Devriese, Dominique
    Piessens, Frank
    [J]. ACM SIGPLAN NOTICES, 2013, 48 (09) : 73 - 85
  • [2] Meta-programming in CLP(R)
    Heintze, N
    Michaylov, S
    Stuckey, PJ
    Yap, RHC
    [J]. JOURNAL OF LOGIC PROGRAMMING, 1997, 33 (03): : 221 - 259
  • [3] Meta-programming with names and necessity
    Nanevski, A
    [J]. ACM SIGPLAN NOTICES, 2002, 37 (09) : 206 - 217
  • [4] EASY Meta-programming with Rascal
    Klint, Paul
    van der Storm, Tijs
    Vinju, Jurgen
    [J]. GENERATIVE AND TRANSFORMATIONAL TECHNIQUES IN SOFTWARE ENGINEERING III, 2011, 6491 : 222 - 289
  • [5] Imperative LF Meta-Programming
    Stump, Aaron
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2008, 199 : 149 - 159
  • [6] Template meta-programming for Haskell
    Sheard, T
    Jones, SP
    [J]. ACM SIGPLAN NOTICES, 2002, 37 (12) : 60 - 75
  • [7] Lightweight Functional Logic Meta-Programming
    Amin, Nada
    Byrd, William E.
    Rompf, Tiark
    [J]. PROGRAMMING LANGUAGES AND SYSTEMS, APLAS 2019, 2019, 11893 : 225 - 243
  • [8] Program Logics for Homogeneous Meta-programming
    Berger, Martin
    Tratt, Laurence
    [J]. LOGIC FOR PROGRAMMING, ARTIFICIAL INTELLIGENCE, AND REASONING (LPAR-16), 2010, 6355 : 64 - 81
  • [9] Dynamics for ML using Meta-Programming
    Gazagnaire, Thomas
    Madhavapeddy, Anil
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2011, 264 (05) : 3 - 21
  • [10] TRACING REQUIREMENTS FOR MULTILAYERED META-PROGRAMMING
    BOWLES, A
    WILK, P
    [J]. META-PROGRAMMING IN LOGIC PROGRAMMING, 1989, : 205 - 215