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|
|Depositing User:||Dr Laurence Tratt|
|Date Deposited:||28 May 2010 14:47|
|Last Modified:||05 Oct 2015 06:54|
Actions (login required)