## Program Transformation via Contextual Assertions (1994)

Venue: | In Logic, Language and Computation. Festschrift in Honor of Satoru Takasu |

Citations: | 7 - 4 self |

### BibTeX

@INPROCEEDINGS{Mason94programtransformation,

author = {Ian A. Mason and Carolyn Talcott},

title = {Program Transformation via Contextual Assertions},

booktitle = {In Logic, Language and Computation. Festschrift in Honor of Satoru Takasu},

year = {1994},

pages = {225--254},

publisher = {Springer-Verlag}

}

### OpenURL

### Abstract

. In this paper we describe progress towards a theory of tranformational program development. The transformation rules are based on a theory of contextual equivalence for functional languages with imperative features. Such notions of equivalence are fundamental for the process of program specification, derivation, transformation, refinement and other forms of code generation and optimization. This paper is dedicated to Professor Satoru Takasu. 1 Introduction This paper describes progress towards a theory of program development by systematic refinement beginning with a clean simple program thought of as a specification. Transformations include reuse of storage, and re-representation of abstract data. The transformation rules are based on a theory of constrained equivalence for functional languages with imperative features (i.e. Lisp, Scheme or ML). Such notions of equivalence are fundamental for the process of program specification, derivation, transformation, refinement, and other for...

### Citations

854 | Dynamic logic
- Harel
- 1984
(Show Context)
Citation Context ...n of constructive mathematics [2, 3] and later applied to the study of purely functional languages [4, 5]. VTLoE goes well beyond traditional programming logics, such as Hoare's [1] and Dynamic logic =-=[9]-=-. The programming language and logic are richer. It is close in spirit to Specification Logic [27], incorporating a full first order theory of data and the ability to express program equivalence, and ... |

90 |
A language and axioms for explicit mathematics
- Feferman
- 1975
(Show Context)
Citation Context ... 10]. VTLoE is inspired by the variable type systems of Feferman. These systems are two sorted theories of operations and classes initially developed for the formalization of constructive mathematics =-=[2, 3]-=- and later applied to the study of purely functional languages [4, 5]. VTLoE goes well beyond traditional programming logics, such as Hoare's [1] and Dynamic logic [9]. The programming language and lo... |

85 |
Control operators, the SECD-machine, and the -calculus
- Felleisen, Friedman
- 1986
(Show Context)
Citation Context ... contexts identify the subexpression of an expression that is to be evaluated next, they correspond to the standard reduction strategy (left-first, call-by-value) of [26] and were first introduced in =-=[7]-=-. Definition (R): The set of reduction contexts, R, is the subset of C defined by R= ffflg [ letfX:= RgE [ if(R; E; E) [ [ n;m2N Fn+m+1 (V n ; R; E m ) We let R range over R. An expression is either a... |

66 |
Constructive theories of functions and classes
- Feferman
- 1979
(Show Context)
Citation Context ... 10]. VTLoE is inspired by the variable type systems of Feferman. These systems are two sorted theories of operations and classes initially developed for the formalization of constructive mathematics =-=[2, 3]-=- and later applied to the study of purely functional languages [4, 5]. VTLoE goes well beyond traditional programming logics, such as Hoare's [1] and Dynamic logic [9]. The programming language and lo... |

49 | A Variable Typed Logic of Effects
- Honsell, Mason, et al.
- 1995
(Show Context)
Citation Context ...rivation, transformation, refinement, and other forms of code generation and optimization. This paper is a continuation of our development of the Variable Typed Logic of Effects (VTLoE) introduced in =-=[11, 20, 10]-=-. VTLoE is inspired by the variable type systems of Feferman. These systems are two sorted theories of operations and classes initially developed for the formalization of constructive mathematics [2, ... |

43 |
Ten years of Hoare’s logic: A survey–part I
- Apt
- 1981
(Show Context)
Citation Context ...d for the formalization of constructive mathematics [2, 3] and later applied to the study of purely functional languages [4, 5]. VTLoE goes well beyond traditional programming logics, such as Hoare's =-=[1]-=- and Dynamic logic [9]. The programming language and logic are richer. It is close in spirit to Specification Logic [27], incorporating a full first order theory of data and the ability to express pro... |

23 |
Polymorphic typed lambda-calculi in a type-free axiomatic framework
- Feferman
- 1990
(Show Context)
Citation Context ...se systems are two sorted theories of operations and classes initially developed for the formalization of constructive mathematics [2, 3] and later applied to the study of purely functional languages =-=[4, 5]-=-. VTLoE goes well beyond traditional programming logics, such as Hoare's [1] and Dynamic logic [9]. The programming language and logic are richer. It is close in spirit to Specification Logic [27], in... |

12 |
A theory of variable types. Revista Colombiana de Matem'aticas
- Feferman
- 1975
(Show Context)
Citation Context ...se systems are two sorted theories of operations and classes initially developed for the formalization of constructive mathematics [2, 3] and later applied to the study of purely functional languages =-=[4, 5]-=-. VTLoE goes well beyond traditional programming logics, such as Hoare's [1] and Dynamic logic [9]. The programming language and logic are richer. It is close in spirit to Specification Logic [27], in... |

7 | A theory of classes for a functional language with effects - Honsell, Mason, et al. - 1993 |

1 |
Performance and Evaluation of Lisp Systems. Computer Systems Series
- Gabriel
- 1985
(Show Context)
Citation Context ...st is the transformation of a tail recursive program to a loop that utilizes a register. The second is the transformation of a simple, but non-trivial, rewriting program, known as the Boyer benchmark =-=[8]-=-. This example is part of a more extensive transformational development carried out in the process of developing parallel Lisp programs for symbolic manipulation [15]. The remainder of this paper is o... |