Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!samsung!uunet!munnari.oz.au!goanna!ok From: ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe) Newsgroups: comp.lang.functional Subject: Re: "Reverse Diff" Arrays Message-ID: <6536@goanna.cs.rmit.oz.au> Date: 27 Jun 91 07:31:46 GMT References: <591sis-b@massey.ac.nz> Organization: Comp Sci, RMIT, Melbourne, Australia Lines: 19 In article <591sis-b@massey.ac.nz>, news@massey.ac.nz (USENET News System) writes: > Would anyone else care to comment on why such a simple technique (at > least in hindsight) appears to have received so little attention? Possibly it has been regarded as too well known? The technique was applied to Prolog in a paper in the Uppsala conference (I've never had the proceedings for that) in 83? 84? something like that. There's a small literature on multi-version data structures. > Why > bother with compile-time analysis to detect "single-threadedness" when > a simple run-time organisation for arrays will suffice? Because with reverse diffs you still have to keep the reverse diffs around and maybe garbage collect later; with compile-time analysis you should be able to generate exactly the same code you'd have had in an imperative language. (See Trilogy.) -- I agree with Jim Giles about many of the deficiencies of present UNIX.