why cannot assign to function call

Steven D'Aprano steve at REMOVE-THIS-cybersource.com.au
Sat Jan 10 21:48:12 EST 2009


On Sun, 11 Jan 2009 01:22:48 +0000, Rhodri James wrote:

> On Sat, 10 Jan 2009 18:44:37 -0000, <rurpy at yahoo.com> wrote:
> 
>> What is the observable difference between converting an array to a
>> reference (pointer) to that array and passing the reference by value,
>> and passing the array by reference?
> 
> This is a red herring, though.  From either viewpoint, C arrays are
> anomalous in comparison with other C data types.

I don't believe it is a red-herring. As I understand it, Mark and Joe 
insist that C is pass-by-value *even in the case of arrays*, despite the 
semantics of array passing being identical to the semantics of pass-by-
reference in (say) Pascal. While Mark is willing to admit that arrays are 
"bizarre" (his term) in C, I don't think he accepts that passing arrays 
in C is anything but pass-by-value.

I think this gets very close to the bone of the debate. It demonstrates 
that "pass-by-value" as Mark and Joe understand it is such a broad 
concept that it can describe any argument passing behaviour at all and 
therefore is meaningless.


-- 
Steven



More information about the Python-list mailing list