Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!munnari.oz.au!goanna!ok From: ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe) Newsgroups: comp.lang.misc Subject: Re: Answers, Chapter 1: TeX Message-ID: <4181@goanna.cs.rmit.oz.au> Date: 1 Nov 90 09:10:57 GMT References: <27028@megaron.cs.arizona.edu> <4569@lanl.gov> Organization: Comp Sci, RMIT, Melbourne, Australia Lines: 26 In article <4569@lanl.gov>, jlg@lanl.gov (Jim Giles) writes: > From article <27028@megaron.cs.arizona.edu>, by gudeman@cs.arizona.edu (David Gudeman): > > You are still comparing apples and oranges. You are comparing > > "arrays, assumed not to be aliased" with "pointers, assumed to be > > aliased". > Oh, I'm sorry. I have given this information before, but perhaps you > missed it. An array is a mapping from one or more bounded index sets > to values of an underlying type. Each array is assumed distinct from > all others unless _explicitly_ declared otherwise. A consequence of this definition is that array cross-sections (as in PL/I, Algol 68, and Fortran Extended) are *NOT* arrays. I don't remember seeing anything in the Algol 68 definition that forbade aliasing, so by this definition Algol 68 didn't have array parameters at all. I have never seen the PL/I standard, so although I was never warned against aliasing in PL/I programs that may have been a fault of the textbooks and vendors' manuals that I used (thankfully, it has been some years since I last used PL/I). In fact, it appears that only APL (which uses value semantics for all parameters and assignments) Euclid, and Fortran have arrays (and with nested arrays, it's not clear to me whether APL2 has them). -- The problem about real life is that moving one's knight to QB3 may always be replied to with a lob across the net. --Alasdair Macintyre.