[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ''Update functions'' in Scheme.
Date: Thu, 19 May 88 10:35:23 EDT
From: Mitchell Wand <wand%corwin.ccs.northeastern.edu@RELAY.CS.NET>
One ought not to say things like:
"F(G(C)) := D ought to ensure that F(G(C)) = D afterwards."
too blithely. Consider the array assignment:
A[A[1]] := 2
in a two element array A, where initially A[1]=A[2]=1 . This sort of thing had
program verifiers confused for a good while in the early 70's.
Mitchell Wand
College of Computer Science
Northeastern University
360 Huntington Avenue #161CN
Boston, MA 02115
CSNet: wand@corwin.ccs.northeastern.edu
I wrote a paper that was distributed by hand to friends in the late '70s
called "Floyd-Hoare Verifiers Considered Harmful" that pointed this
ought. It was somewhat tongue in cheek but was based on catching Vaughn
Pratt making exactly this kind of mistake. I just moved my office and
found copies of the paper. Sussman would remember it well.