Dennis Lee Bieber wrote: > On Mon, 01 Oct 2007 01:53:47 GMT, Roedy Green > <see_website / mindprod.com.invalid> 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. (The object code was typically faster that way, and FORTRAN semantics were such that the difference was almost impossible to observe.) -- John W. Kennedy "The pathetic hope that the White House will turn a Caligula into a Marcus Aurelius is as naż×e as the fear that ultimate power inevitably corrupts." -- James D. Barber (1930-2004)