Program logics for homogeneous meta-programming.
Berger, Martin and Tratt, Laurence (2010) Program logics for homogeneous meta-programming. In: 16th International Conference on Logic for programming Artificial Intelligence and Reasoning (LPAR-16), April 25-May 1, 2010, Dakar, Senegal.
A meta-program is a program that generates or manipulates another program; in homogeneous meta-programming, a program may generate new parts of, or manipulate, itself. Meta-programming has been used extensively since macros were introduced to Lisp, yet we have little idea how formally to reason about metaprograms. This paper provides the first program logics for homogeneous metaprogramming – using a variant of MiniMLe by Davies and Pfenning as underlying meta-programming language.We show the applicability of our approach by reasoning about example meta-programs from the literature. We also demonstrate that our logics are relatively complete in the sense of Cook, enable the inductive derivation of characteristic formulae, and exactly capture the observational properties induced by the operational semantics.
|Item Type:||Conference or Workshop Item (Paper)|
|Research Areas:||A. > School of Science and Technology > Computer and Communications Engineering|
|Deposited On:||28 May 2010 14:47|
|Last Modified:||30 Apr 2015 14:24|
Repository staff only: item control page
Full text downloads (NB count will be zero if no full text documents are attached to the record)
Downloads per month over the past year