Official definition of call-by-value (Re: Finding the instance reference...)
Steven D'Aprano
steve at REMOVE-THIS-cybersource.com.au
Thu Nov 20 22:32:25 EST 2008
On Thu, 20 Nov 2008 14:22:50 +1300, greg wrote:
> 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.
Nor did they define what assignment means, and their definition of
"value" seems to exclude such things as strings.
> 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.
You've just *assumed* that assignment in Algol 60 doesn't involving
copying. Based on the very little I know about Algol, I think that is a
very unsafe assumption. I know significantly more about Pascal, and in
Pascal, assignment *is* copying.
(I wait now with bated breath for somebody to point out some Python
implementation or feature where assignment doesn't make a copy...)
--
Steven
More information about the Python-list
mailing list