A calculus for assignments in higher-order languages

  • Authors:
  • Mattias Felleisen;D. P. Friedman

  • Affiliations:
  • Computer Science Department, Indiana University, Lindley Hall 101, Bloomington, IN, USA;Computer Science Department, Indiana University, Lindley Hall 101, Bloomington, IN, USA

  • Venue:
  • POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
  • Year:
  • 1987

Quantified Score

Hi-index 0.00

Visualization

Abstract

Imperative assignments are abstractions of recurring programming patterns in purely functional programming languages. When added to higher-order functional languages, they provide a higher-level of modularity and security but invalidate the simple substitution semantics. We show that, given an operational interpretation of a denotational semantics for such a language, it is possible to design a two-level extension of the &lgr;u-calculus. This calculus provides a location-free rewriting semantics of the language and offers new possibilities for reasoning with assignments. The upper level of the calculus factors out all the steps in a reduction sequence which must be in a linear order; the lower level allows a partial ordering of reduction steps.