Code generation is gaining popularity as a technique to bridge the gap between high-level models and executable code. We describe the theory underlying the PVS2C code generator that translates functional programs written using the PVS specification language to standalone, efficiently executable C code. We outline a correctness argument for the code generator. The techniques used are quite generic and can be applied to transform programs written in functional languages into imperative code. We use a formal model of reference counting to capture memory management and safe destructive updates for a simple first-order functional language with arrays. We exhibit a bisimulation between the functional execution and the imperative execution. This b...
FLIC is a Functional Language Intermediate Code, intended to provide a common intermediate language ...
Dynamic languages enable rapid prototyping, while statically typed languages offer early error-detec...
We present the ins and outs of the purely functional, data parallel programming language SaC (Single...
Functional programming presents a relatively unexplored approach to achieving high- performance comp...
Abstract. The FCG code generator produces portable code that supports efficient two-space copying ga...
Abstract. Functional programs are more amenable to rigorous math-ematical analysis than imperative p...
The extensive dependence of modern-day society on large software systems places a premium on tools f...
We discuss a translation methodology for transforming a high level algorithmic specification written...
This paper is both a position paper on a particular approach in program correctness, and also a cont...
This thesis addresses the problem of avoiding errors in functional programs. The thesis has three pa...
Two key steps in the compilation of strict functional languages are the conversion of higher-order f...
We present a unified framework to describe and compare functional language implementations. We expre...
Scheme implementations should be properly tail-recursive and support garbage collection. To reduce t...
We have designed, implemented, and proved the correctness of a compiler generator that accepts actio...
We express implementations of functional languages as a succession of program transformations in a c...
FLIC is a Functional Language Intermediate Code, intended to provide a common intermediate language ...
Dynamic languages enable rapid prototyping, while statically typed languages offer early error-detec...
We present the ins and outs of the purely functional, data parallel programming language SaC (Single...
Functional programming presents a relatively unexplored approach to achieving high- performance comp...
Abstract. The FCG code generator produces portable code that supports efficient two-space copying ga...
Abstract. Functional programs are more amenable to rigorous math-ematical analysis than imperative p...
The extensive dependence of modern-day society on large software systems places a premium on tools f...
We discuss a translation methodology for transforming a high level algorithmic specification written...
This paper is both a position paper on a particular approach in program correctness, and also a cont...
This thesis addresses the problem of avoiding errors in functional programs. The thesis has three pa...
Two key steps in the compilation of strict functional languages are the conversion of higher-order f...
We present a unified framework to describe and compare functional language implementations. We expre...
Scheme implementations should be properly tail-recursive and support garbage collection. To reduce t...
We have designed, implemented, and proved the correctness of a compiler generator that accepts actio...
We express implementations of functional languages as a succession of program transformations in a c...
FLIC is a Functional Language Intermediate Code, intended to provide a common intermediate language ...
Dynamic languages enable rapid prototyping, while statically typed languages offer early error-detec...
We present the ins and outs of the purely functional, data parallel programming language SaC (Single...