Journal article icon

Journal article

FUNCTIONAL PEARL Unfolding pointer algorithms

Abstract:
A fair amount has been written on the subject of reasoning about pointer algorithms. There was a peak about 1980 when everyone seemed to be tackling the formal verication of the Schorr{Waite marking algorithm, including Gries (1979, Morris (1982) and Topor (1979). Bornat (2000) writes: \The Schorr{Waite algorithm is the rst mountain that any formalism for pointer aliasing should climb". Then it went more or less quiet for a while, but in the last few years there has been a resurgence of interest, driven by new ideas in relational algebras (M¨oeller, 1993), in data renement Butler (1999), in type theory (Hofmann, 2000; Walker and Morrisett, 2000), in novel kinds of assertion (Reynolds, 2000), and by the demands of mechanised reasoning (Bornat, 2000). Most approaches end up being based in the Floyd{Dijkstra{Hoare tradition with loops and invariant assertions. To be sure, when dealing with any recursively-dened linked structure some declarative notation has to be brought in to specify the problem, but no one to my knowledge has advocated a purely functional approach throughout. Mason (1988) comes close, but his Lisp expressions can be very impure. M¨oller (1999) also exploits an algebraic approach, and the structure of his paper has much in common with what follows. This pearl explores the possibility of a simple functional approach to pointer manipulation algorithms.

Actions

Access Document

Files:

Authors

Contributors

Bird, Richard S


Publisher:
Cambridge University Press
Journal:
Journal of functional Programming More from this journal
Publication date:
2001-01-01


Subjects:
UUID:
uuid:f5754705-10ee-4fe0-b692-c16481d9be2b
Local pid:
ora:781
Source identifiers:
http://sers009b.sers.ox.ac.uk/archive/00000863/
Deposit date:
2012-11-15
ARK identifier:

Terms of use


Views and Downloads






If you are the owner of this record, you can report an update to it here: Report update to this record

TO TOP