Results 1 
3 of
3
Reflection in logic, functional and objectoriented programming: a short comparative study
 Proc. of the IJCAI’95 Workshop on Reflection and Metalevel Architectures andtheir Applications in AI,1995
"... Département d’informatique et de recherche opérationnelle ..."
Abstract

Cited by 38 (1 self)
 Add to MetaCart
Département d’informatique et de recherche opérationnelle
A Staging Calculus and its Application to the Verification of Translators
, 1993
"... We develop a calculus in which the computation steps required to execute a computer program can be separated into discrete stages. The calculus, denoted 2 , is embedded within the pure untyped calculus. The main result of the paper is a characterization of sucient conditions for conuence for terms ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
We develop a calculus in which the computation steps required to execute a computer program can be separated into discrete stages. The calculus, denoted 2 , is embedded within the pure untyped calculus. The main result of the paper is a characterization of sucient conditions for conuence for terms in the calculus. The condition can be taken as a correctness criterion for translators that perform reductions in one stage leaving residual redexes over for subsequent computation stages. As an application of the theory, we verify the correctness of a macro expansion algorithm. The expansion algorithm is of some interest in its own right since it solves the problem of desired variable capture using only the familiar capture avoiding substitutions. 1 Introduction The calculus is widely used as a metalanguage for programming language semantics because most of the complexities of real programming languages can be modeled by relatively simple and wellunderstood aspects of the calculus. ...
MLISP: Its Natural Semantics and Equational Logic (Extended Abtract)
, 1991
"... The LISP evaluator is a virtual machine analog of the storedprogram computer on which it executes  it has universal power and dynamically constructed representations of programs can be converted by the eval operator into executable programs. In this paper we study the natural operational semantic ..."
Abstract
 Add to MetaCart
The LISP evaluator is a virtual machine analog of the storedprogram computer on which it executes  it has universal power and dynamically constructed representations of programs can be converted by the eval operator into executable programs. In this paper we study the natural operational semantics and equational logic of a dialect of pure LISP and an extension which includes the eval operator and fexprs (i.e., nonstrict functions whose arguments are passed byrepresentation). We begin by defining a natural operational semantics for the pure subset of MLISP, a simple, representationindependent hybrid of McCarthy's original Mexpression LISP and Scheme. We then establish the connection between the semantics and its equational logic in the usual way and prove that the logic is sound and consistent. With this as our setting we define the axioms and inference ...