Antoon Pardon wrote:
You are changing your argument. In a follow up you made the point that call by value should be as it was intended by the writers of the algol 60 report.
No, I was countering the argument that "call by value" is short for "call by copying the value". I was pointing out that the inventors of the term didn't use any such words. Arguing that their words were intended to imply copying, as part of the essence of the idea, is making an even bigger assumption about their intentions, IMO. Rather it seems to me that the essence of the idea they had in mind is that call-by-value is equivalent to assignment. Furthermore, I don't seem to be alone in coming to that conclusion -- the designers of other dynamic languages appear to be using the same logic when they describe their parameter passing as call-by-value. Here's an example from "The SNOBOL Programming Language", 2nd Edition, by R. E. Griswold, J. F. Poage and I. P. Polonsky. On p. 15: Arguments are passed by value and may be arbitrarily complex expressions. and later on p. 95: When a call to a programmer-defined function is made, the arguments to the call are evaluated first. Before execution of the procedure begins ... new values are assigned to these variables as follows: ... (2) the formal arguments are assigned their values. -- Greg -- http://mail.python.org/mailman/listinfo/python-list