Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!yale!cmcl2!kramden.acf.nyu.edu!brnstnd From: brnstnd@kramden.acf.nyu.edu (Dan Bernstein) Newsgroups: comp.lang.misc Subject: Re: Array references cannot be made optimal Message-ID: <27139:Nov1920:13:2690@kramden.acf.nyu.edu> Date: 19 Nov 90 20:13:26 GMT References: <11839@life.ai.mit.edu> <3289:Nov1323:05:4790@kramden.acf.nyu.edu> <1990Nov18.024745.2424@bushido.uucp> Organization: IR Lines: 18 In article <1990Nov18.024745.2424@bushido.uucp> dbc@bushido.uucp (Dave Caswell) writes: > .There does not exist an algorithm that will convert an (optimal) array > .program into its optimal pointer form. That summarizes what I've said so > .far in this thread. > .What does it mean for real languages? It means that the programmer > .*must* be allowed to look at an array x from the vantage point of x[a], > .rather than x[0]. This array shifting doesn't have to look like C's > Clearly that isn't a proof. The word "*must*" is inappropriate in that > context. You're right. What I should have said was ``If the language doesn't let the programmer look at [etc.] ... then it will be restricting his freedom to express certain optimizations.'' To a language designer, that means that the language *must* provide some equivalent feature; but most people don't care to design languages. ---Dan