Abstract. Complex data dependencies can often be expressed concisely by defining a variable in terms of part of its own value. Such a circular reference can be naturally expressed in a lazy functional language or in an attribute grammar. In this paper, we consider circular references in the context of an imperative C-like language, by extending the language with a new construct, persistent variables. We show that an extension of partial evaluation can eliminate persistent variables, producing a staged C program. This approach has been implemented in the Tempo specializer for C programs, and has proven useful in the implementation of run-time specialization.
Two key steps in the compilation of strict functional languages are the conversion of higher-order f...
FuncTion is a static analyzer designed for proving conditional termination of C programs by means of...
Persistent programming languages exhibit several requirements that affect the generation of native c...
A partial evaluator is an automatic program transformation tool. Given as input a general program an...
Circular functional programs (necessarily evaluated lazily) have been used as algorithmic tools, as ...
As partial evaluation gets more mature, it is now possible to use this program transformation techni...
Moggi's computational lambda calculus c is a well-established model of computation. We define a...
) Lars Ole Andersen DIKU, Department of University of Copenhagen, Universitetsparken 1, DK 2100 Cop...
International audienceReal life C programs are often written using C dialects which, for the ISO C s...
Abstract. Real life C programs are often written using C dialects which, for the ISO C standard, hav...
Abstract. In this paper, we describe the key principles of a dependent type system for low-level imp...
Abstract in Undetermined Reference attribute grammars (RAGs) provide a practical declarative means t...
This dissertation describes a sequential implementation of a concurrent constraint programing langua...
Specialization is an automatic approach to customizing a program with respect to con guration values...
Program optimizations, transformations and analyses are applied to intermediate representations, whi...
Two key steps in the compilation of strict functional languages are the conversion of higher-order f...
FuncTion is a static analyzer designed for proving conditional termination of C programs by means of...
Persistent programming languages exhibit several requirements that affect the generation of native c...
A partial evaluator is an automatic program transformation tool. Given as input a general program an...
Circular functional programs (necessarily evaluated lazily) have been used as algorithmic tools, as ...
As partial evaluation gets more mature, it is now possible to use this program transformation techni...
Moggi's computational lambda calculus c is a well-established model of computation. We define a...
) Lars Ole Andersen DIKU, Department of University of Copenhagen, Universitetsparken 1, DK 2100 Cop...
International audienceReal life C programs are often written using C dialects which, for the ISO C s...
Abstract. Real life C programs are often written using C dialects which, for the ISO C standard, hav...
Abstract. In this paper, we describe the key principles of a dependent type system for low-level imp...
Abstract in Undetermined Reference attribute grammars (RAGs) provide a practical declarative means t...
This dissertation describes a sequential implementation of a concurrent constraint programing langua...
Specialization is an automatic approach to customizing a program with respect to con guration values...
Program optimizations, transformations and analyses are applied to intermediate representations, whi...
Two key steps in the compilation of strict functional languages are the conversion of higher-order f...
FuncTion is a static analyzer designed for proving conditional termination of C programs by means of...
Persistent programming languages exhibit several requirements that affect the generation of native c...