Programming with variable functions

2Citations
Citations of this article
11Readers
Mendeley users who have this article in their library.

Abstract

What is a good method to specify and derive imperative programs? This paper argues that a new form of functional programming fits the bill, where variable functions can be updated at specified points in their domain. Traditional algebraic specification and functional programming are a powerful pair of tools for specifying and implementing domains of discourse and operations on them. Recent work on evolving algebras has introduced the function update in algebraic specifications, and has applied it with good success in the modelling of reactive systems. We show that similar concepts allow one to derive efficient programs in a systematic way from functional specifications. The final outcome of such a derivation can be made as efficient as a traditional imperative program with pointers, but can still be reasoned about at a high level. Variable functions can also play an important role in the structuring of large systems. They can subsume object-oriented programming languages, without incurring the latter's problems with pointer aliasing and modularity. © 1998 ACM.

Cite

CITATION STYLE

APA

Odersky, M. (1999). Programming with variable functions. SIGPLAN Notices (ACM Special Interest Group on Programming Languages), 34(1), 105–116. https://doi.org/10.1145/291251.289433

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free