Path: utzoo!attcan!uunet!husc6!bloom-beacon!THINK.COM!gls From: gls@THINK.COM Newsgroups: comp.lang.scheme Subject: ''Update functions'' in Scheme. Message-ID: <8805201838.AA04646@kali.think.com> Date: 20 May 88 18:38:40 GMT References: <8805191435.AA16901@corwin.CCS.Northeastern.EDU> Sender: daemon@bloom-beacon.MIT.EDU Organization: The Internet Lines: 28 Date: Thu, 19 May 88 10:35:23 EDT From: Mitchell Wand 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 Now consider the array assignment Y(A[.]) := 2 . :-) --Quux