Official definition of call-by-value (Re: Finding the instance reference...)

greg greg at cosc.canterbury.ac.nz
Tue Nov 11 19:10:10 EST 2008


Here is the definition of call-by-value from the
"Revised Report on the Algorithmic Language Algol 60"
<http://www.masswerk.at/algol60/report.htm>:

4.7.3.1. Value assignment (call by value). All formal parameters quoted in the 
value part of the procedure declaration heading are assigned the values (cf. 
section 2.8. Values and types) of the corresponding actual parameters, these 
assignments being considers as being performed explicitly before entering the 
procedure body. The effect is as though an additional block embracing the 
procedure body were created in which these assignments were made to variables 
local to this fictitious block with types as given in the corresponding 
specifications (cf. section 5.4.5).

There you have it -- call by value is offially defined in
terms of assignment. There is no mention in there of copying.

So it's perfectly correct to use it in relation to Python.

-- 
Greg



More information about the Python-list mailing list