Hostname: page-component-6766d58669-bp2c4 Total loading time: 0 Render date: 2026-05-15T13:27:22.241Z Has data issue: false hasContentIssue false

A logical analysis of aliasing in imperative higher-order functions

Published online by Cambridge University Press:  01 July 2007

MARTIN BERGER
Affiliation:
Department of Computing, Imperial College London, London, England
KOHEI HONDA
Affiliation:
Department of Computer Science, Queen Mary, University of London, London, England
NOBUKO YOSHIDA
Affiliation:
Department of Computing, Imperial College London, London, England
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

We present a compositional programme logic for call-by-value imperative higher-order functions with general forms of aliasing, which can arise from the use of reference names as function parameters, return values, content of references and parts of data structures. The programme logic extends our earlier logic for alias-free imperative higher-order functions with new operators which serve as building blocks for clean structural reasoning about programms and data structures in the presence of aliasing. This has been an open issue since the pioneering work by Cartwright–Oppen and Morris twenty-five years ago. We illustrate usage of the logic for description and reasoning through concrete examples including a higher-order polymorphic Quicksort. The logical status of the new operators is clarified by translating them into (in)equalities of reference names.

Information

Type
Article
Copyright
Copyright © Cambridge University Press 2007
Submit a response

Discussions

No Discussions have been published for this article.