Finding the instance reference of an object

Douglas Alan doug at alum.mit.edu
Fri Nov 7 19:24:47 EST 2008


Joe Strout <joe at strout.net> writes:

> As for where I get my definitions from, I draw from several sources:
>
> 1. Dead-tree textbooks

You've been reading the wrong textbooks.  Read Liskov -- she's called
CLU (and hence Python's) calling strategy "call-by-sharing" since the
70s.

> 2. Wikipedia [2] (and yes, I know that has to be taken with a grain of
> salt, but it's so darned convenient)
> 3. My wife, who is a computer science professor and does compiler
> research
> 4. http://javadude.com/articles/passbyvalue.htm (a brief but excellent
> article)
> 5. Observations of the "ByVal" (default) mode in RB and VB.NET
> 6. My own experience implementing the RB compiler (not that
> implementation details matter, but it forced me to think very
> carefully about references and parameter passing for a very long time)
>
> Not that I'm trying to argue from authority; I'm trying to argue from
> logic.  I suspect, though, that your last comment gets to the crux of
> the matter, and reinforces my guess above: you don't think c-b-v means
> what most people think it means.  Indeed, you don't think any of the
> languages shown at [1] are, in fact, c-b-v languages.  If so, then we
> should focus on that and see if we can find a definitive answer.

I'll give you the definitive answer from a position of authority,
then.  I took Barbara Liskov's graduate-level class in programming
language theory at MIT, and she called what Python does
"call-by-sharing".

|>oug



More information about the Python-list mailing list