## The Revised Report on the Syntactic Theories of Sequential Control and State (1992)

### Cached

### Download Links

- [ftp.cs.indiana.edu]
- [www.cs.rice.edu]
- [www.cs.rice.edu]
- [www.cs.rice.edu]
- DBLP

### Other Repositories/Bibliography

Venue: | Theoretical Computer Science |

Citations: | 267 - 36 self |

### BibTeX

@ARTICLE{Felleisen92therevised,

author = {Matthias Felleisen and Matthias Felleisen and Robert Hieb and Robert Hieb},

title = {The Revised Report on the Syntactic Theories of Sequential Control and State},

journal = {Theoretical Computer Science},

year = {1992},

volume = {103},

pages = {235--271}

}

### Years of Citing Articles

### OpenURL

### Abstract

The syntactic theories of control and state are conservative extensions of the v -calculus for equational reasoning about imperative programming facilities in higher-order languages. Unlike the simple v -calculus, the extended theories are mixtures of equivalence relations and compatible congruence relations on the term language, which significantly complicates the reasoning process. In this paper we develop fully compatible equational theories of the same imperative higher-order programming languages. The new theories subsume the original calculi of control and state and satisfy the usual Church-Rosser and Standardization Theorems. With the new calculi, equational reasoning about imperative programs becomes as simple as reasoning about functional programs. 1 The syntactic theories of control and state Most -calculus-based programming languages provide imperative programming facilities such as assignment statements, exceptions, and continuations. Typical examples are ML [16], Schem...

### Citations

1614 | The Definition of Standard ML
- MILNER, TOFTE, et al.
- 1990
(Show Context)
Citation Context ...heories of control and state Most -calculus-based programming languages provide imperative programming facilities such as assignment statements, exceptions, and continuations. Typical examples are ML =-=[16]-=-, Scheme [19], and Common Lisp [20]. While these additions add expressive power and increase the efficiency of programs, they also appear to invalidate the simple reduction rules and equational reason... |

454 | Computational lambda-calculus and monads
- Moggi
- 1989
(Show Context)
Citation Context ...this approach is that results on evaluation and proof systems automatically lift to richer languages; the disadvantage is a certain weakness of the proof systems. We believe that recent work by Moggi =-=[17]-=- on the computational -calculus---motivated by similar concerns---and our own work are the correct starting point for developing modular proof systems for large, powerful languages. The development of... |

397 | Explicit substitutions
- Abadi, Cardelli, et al.
- 1991
(Show Context)
Citation Context ...n the function `. It also follows from the above Lemma that every theorem e 1 = e 2 insv -S . for e 1 ; e 2 2sS implies the existence of a theorem ae` 1 :e 0 1 = ae` 2 :e 0 2 3 Recently, Abadi et al. =-=[1]-=- proposed and studied a variant of the -calculus that incorporates explicit substitutions. Our ae-applications correspond to their closures: in the notation of Abadi et al. ae`:e would be the term e[`... |

345 |
The Mechanical Evaluation of Expressions
- Landin
- 1964
(Show Context)
Citation Context ...8], we assume that the behavior of constants is specified by a partial function from functional and basic constants to closed values: ffi : FConsts \Theta BConsts ! Values 0 : In the mid-60's, Landin =-=[11, 12]-=- illustrated in a series of papers thatsis an interesting and powerful programming language. Most importantly, he showed how a simple stackbased calculator for algebraic expressions could be extended ... |

249 | The formulae-as-types notion of control - Griffin - 1990 |

221 |
Call-by-name, call-by-value and the ‚-calculus
- PLOTKIN
- 1975
(Show Context)
Citation Context ...s and equational reasoning of the -calculus that make functional programming so appealing. In two previous papers [8, 9], we have shown that there are conservative extensions of Plotkin'ssv -calculus =-=[18]-=- for such programming languages, and that it is possible to reason about programs in extended functional languages in an equational style. The main difference between the simple lambda-calculi and its... |

203 |
The Lambda Calculus: its Syntax and Semantics (revised ed
- Barendregt
- 1984
(Show Context)
Citation Context ...ork and some implications of our work for an alternative denotational semantics for extended functional languages. 2 2 The -value-calculus The expression languagesof the -calculus and thesv -calculus =-=[2, 3, 18]-=- is the union of a set of values and expression juxtapositions: e ::= v j (e e): The set of values is the collection of basic constants (b 2 BConsts) and functional constants (f 2 FConsts), variables ... |

194 |
The Next 700 Programming Languages
- Landin
- 1966
(Show Context)
Citation Context ...8], we assume that the behavior of constants is specified by a partial function from functional and basic constants to closed values: ffi : FConsts \Theta BConsts ! Values 0 : In the mid-60's, Landin =-=[11, 12]-=- illustrated in a series of papers thatsis an interesting and powerful programming language. Most importantly, he showed how a simple stackbased calculator for algebraic expressions could be extended ... |

153 |
The theory and practice of first-class prompts
- Felleisen
- 1988
(Show Context)
Citation Context ...ed that by adding a control delimiter facility to the -calculus extended with control operators, we can simplify the calculus and get a more elegant relationship between the language and its calculus =-=[6]-=-. But, although this proposal provides a good example of how calculus design can influence and improve language design, it does not alleviate the need for better techniques for reasoning about existin... |

119 |
A syntactic theory of sequential control
- Felleisen, Friedman, et al.
- 1987
(Show Context)
Citation Context ...e the efficiency of programs, they also appear to invalidate the simple reduction rules and equational reasoning of the -calculus that make functional programming so appealing. In two previous papers =-=[8, 9]-=-, we have shown that there are conservative extensions of Plotkin'ssv -calculus [18] for such programming languages, and that it is possible to reason about programs in extended functional languages i... |

109 |
Introduction to mathematical logic
- Church
- 1996
(Show Context)
Citation Context ...ork and some implications of our work for an alternative denotational semantics for extended functional languages. 2 2 The -value-calculus The expression languagesof the -calculus and thesv -calculus =-=[2, 3, 18]-=- is the union of a set of values and expression juxtapositions: e ::= v j (e e): The set of values is the collection of basic constants (b 2 BConsts) and functional constants (f 2 FConsts), variables ... |

91 |
Revised Report on the Algorithmic Language Scheme
- Rees, Clinger
- 1991
(Show Context)
Citation Context ...t of the application and resumes the abstracted control context with its argument. This notion of control abstraction is derived from the treatment of continuations in the programming language Scheme =-=[19]-=-. However, although the continuation created by a C-application acts just like a continuation created by the Scheme continuation constructor call/cc, a C-application differs from a call/cc application... |

85 |
Control operators, the SECD-machine, and the -calculus
- Felleisen, Friedman
- 1986
(Show Context)
Citation Context ...ns of the equational theory. 3.1 A syntactic theory of control abstractions Originally we derived the syntactic theory of control from an abstract operational semantics based on Landin's SECD-machine =-=[7]. Eliminat-=-ing all non-program text components from the machine shows that the concept of "current continuation" is equivalent to the notion of evaluation context. The machine transition rules for abst... |

79 | SCHEME: An Interpreter for Extended Lambda Calculus
- Sussman, Steele, et al.
- 1975
(Show Context)
Citation Context ...on sequences whose standard reduction relation is an evaluation mechanism (4.12); and it is sound (4.13). Finally, it also extends the old theory (4.5). 26 Note: The nature of variables From Scheme's =-=[19, 21]-=- practical point of view, the new theory only contains one disturbing element, namely, the partitioning of the variable set into binding and assignable variables. The reason for this separation is the... |

39 |
A syntactic theory of sequential state
- Felleisen, Friedman
- 1989
(Show Context)
Citation Context ...e the efficiency of programs, they also appear to invalidate the simple reduction rules and equational reasoning of the -calculus that make functional programming so appealing. In two previous papers =-=[8, 9]-=-, we have shown that there are conservative extensions of Plotkin'ssv -calculus [18] for such programming languages, and that it is possible to reason about programs in extended functional languages i... |

28 | Programming, transforming, and proving with function abstractions and memories
- Mason, Talcott
- 1989
(Show Context)
Citation Context ...rder version of Lisp with destructive cell operations [13], for asC - like language on control [22, 23], and, most recently, for a higher-order imperative version of Lisp without control abstractions =-=[14]-=-. For a fragment of first-order destructive Lisp without arithmetic and recursion, they have also shown that it is possible to obtain a complete theory [15]. Mason and Talcott's equational proof syste... |

15 |
The Calculi of Lambda-v-CS-Conversion: A Syntactic Theory of Control and State in Imperative Higher-Order Programming Languages
- Felleisen
- 1987
(Show Context)
Citation Context ...xx)(x:f(y:(xx)y))y): A restricted version of fi v can be derived from ae Y . 5 Unified theories of control and state The original theories of control and state are completely orthogonal to each other =-=[5]-=-. The sum of the extended notions of reduction yields a theory for a language with facilities for both control and state manipulation; indeed, the shape of the reduction relations as pattern-matching ... |

9 |
Making variables abstract: An equational theory for Russell
- Demers, Donahue
- 1983
(Show Context)
Citation Context ... of how the various theories relate to each other. An early effort in the direction of equational theories for proving the correctness of higher-order imperative programs is due to Demers and Donahue =-=[4]-=-. The focus of their research is Russell, an extension of the higher-order typed -calculus with cells and destructive cell operations; their major result is a proof system for Russell with several doz... |

9 | A sound and complete axiomatization of operational equivalence between programs with memory
- Mason, Talcott
- 1989
(Show Context)
Citation Context ...ersion of Lisp without control abstractions [14]. For a fragment of first-order destructive Lisp without arithmetic and recursion, they have also shown that it is possible to obtain a complete theory =-=[15]-=-. Mason and Talcott's equational proof systems are essentially ad hoc approximations to the operational equivalences of the respective languages. They find the axioms of these theories by extracting a... |

7 |
Common Lisp---The Language
- Steele
- 1984
(Show Context)
Citation Context ...calculus-based programming languages provide imperative programming facilities such as assignment statements, exceptions, and continuations. Typical examples are ML [16], Scheme [19], and Common Lisp =-=[20]-=-. While these additions add expressive power and increase the efficiency of programs, they also appear to invalidate the simple reduction rules and equational reasoning of the -calculus that make func... |

6 |
Rum: An intensional theory of function and control abstractions
- Talcott
- 1986
(Show Context)
Citation Context ...work by Mason and Talcott. Over the past few years, they have developed equational theories for a first-order version of Lisp with destructive cell operations [13], for asC - like language on control =-=[22, 23]-=-, and, most recently, for a higher-order imperative version of Lisp without control abstractions [14]. For a fragment of first-order destructive Lisp without arithmetic and recursion, they have also s... |

1 |
Equivalences of first-order Lisp programs
- Mason
- 1986
(Show Context)
Citation Context ...ith continuations and assignments is the work by Mason and Talcott. Over the past few years, they have developed equational theories for a first-order version of Lisp with destructive cell operations =-=[13]-=-, for asC - like language on control [22, 23], and, most recently, for a higher-order imperative version of Lisp without control abstractions [14]. For a fragment of first-order destructive Lisp witho... |