Calculi of lambda-nu-CS conversion: a syntactic theory of control and state in imperative higher-order programming languages
The advantage of functional programming languages is that they automatically come with a powerful, symbolic reasoning system. They are syntactically and semantically variants of the lambda-calculus, and this connection provides an abstract understanding of programs, independent of any implementation machinery. Thus, for verifications, transformations, and comparisons, programmers can manipulate programs in an algebra-like manner. However, the lambda-calculus is too weak to support imperative extensions of functional programming languages. Consequently, it has been impossible to reason algebraically about imperative programs. The author solved this problem with the construction of the lambda/sub v/-CS-calculus. The lambda/sub v/-CS-calculus is a conservative extension of the lambda-calculus. Its principal syntactic facilities are variables and assignable variables, functional abstractions, function applications, and two new expression types for the manipulation of evaluation control and program state: ubiquitous building blocks of most practical languages. The extended set of axioms is derived from an abstract-machine semantics.
- Research Organization:
- Indiana Univ., Bloomington (USA)
- OSTI ID:
- 6992925
- Resource Relation:
- Other Information: Thesis (Ph. D.)
- Country of Publication:
- United States
- Language:
- English
Similar Records
Multiple strongly typed evaluation phases: a programming-language notion
Interpretation of natural-language data base queries using optimization methods