Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!sdd.hp.com!elroy.jpl.nasa.gov!ncar!hsdndev!cmcl2!lanl!cochiti.lanl.gov!jlg From: jlg@cochiti.lanl.gov (Jim Giles) Newsgroups: comp.lang.fortran Subject: Re: Standards Keywords: Fortran 90 standards Message-ID: <23170@lanl.gov> Date: 3 May 91 20:50:37 GMT References: <12528@exodus.Eng.Sun.COM> <22913@lanl.gov> <21649@paperboy.OSF.ORG> Sender: news@lanl.gov Organization: Los Alamos National Laboratory Lines: 29 In article <21649@paperboy.OSF.ORG>, andyj@osf.org (Andy Johnson) writes: |> In article <22913@lanl.gov>, jlg@cochiti.lanl.gov (Jim Giles) writes: |> [...] |> |> Well, I am not aware of _any_ language or _any_ implementation of |> |> any language which has "pointers" implemented in the undesireable |> |> manner that the Fortran 90 proposal defines. It is _not_ existing |> |> practice. Independent of that, it is simply not a good design. |> |> Sure you are, it's called FORTRAN. The model that is used for POINTERs is |> exactly analogous to the existing pointers in most Fortran implementations: |> dummy arguments. My objection to pointers is founded on the fact that they inhibit optimization and conceal errors in the presence of assignment to any of the aliased objects. Since Fortran parameter passing _prohibits_ such aliasing, your claim that they resemble pointers is false in exactly that part of the semantics I object to. The Fortran 90 proposal includes pointers to array slices, which will cause aliasing (and inhibit optimizations) on all arrays to which they are applied. This will occur even though pointers to array slices provide _no_ additional functionality! They could have been left out entirely without effecting the capabilities of the language at all. Pointers to scalars are useful in implementing recursive data structures. Although I would rather the committee support recursive data types directly, I have no strong objection to pointer being used in this way. Pointers to arrays don't do anything useful, they just inhibit optimization and generate debugging problems. J. Giles