From: "blmblm@..." Date: 2007-10-05T21:40:06+09:00 Subject: Re: which language allows you to change an argument's value? In article <1PUMi.21$WQ1.20@newsfe12.lga>, John W. Kennedy wrote: > Dennis Lee Bieber wrote: > > On Mon, 01 Oct 2007 01:53:47 GMT, Roedy Green > > declaimed the following in > > comp.lang.python: > > > > > >> Seem to me you could in FORTRAN and Pascal, and maybe even Algol. It > >> has been a while. > >> > > Everything in classic FORTRAN is a passed as a reference -- even > > constant arguments are passed as a reference to the memory location > > containing that constant (which is why it was possible in very early > > FORTRANs to have "a = 1 + 1" yield something other than "2" if preceded > > by, say, "call mutate(1)" where mutate looks like: > > > > subroutine mutate(arg) > > arg = arg * 2 > > end > > > > ) > > However, some implementations passed /and returned/ elementary arguments > by value, as Ada does. In FORTRAN/Fortran, don't they call that "copy-in/copy-out"? Same thing, just nitpicking a little about terminology, I hope correctly. > (The object code was typically faster that way, > and FORTRAN semantics were such that the difference was almost > impossible to observe.) -- B. L. Massingill ObDisclaimer: I don't speak for my employers; they return the favor.