[C++-sig] Re: The "return always existing pointer throws dangling error" problem

Niall Douglas s_sourceforge at nedprod.com
Wed Oct 22 04:43:26 CEST 2003


On 21 Oct 2003 at 21:37, David Abrahams wrote:

> >> No, they have many relationships.  I'm not sure which kind of
> >> relationship you have in mind, though.
> >
> > I'm just surprised, that's all. 
> 
> I haven't confirmed your thought about "zero relationship", so what is
> there to be surprised about?  I don't know what you mean, and you
> don't know what Boost.Python is doing AFAICT.

I based that statement on what you had previously described as the 
operatings of BPL, just there in what I replied to.

> > I personally wouldn't have done it the way you did, that's all. 
> 
> How do you know what I did?

That's what's so very interesting in our dialogues. You explain 
something because I didn't understand. I then read your explanation 
and either (a) make statements from what your explanation infers 
which turn out to be wrong or (b) apply your statements to what /you/ 
consider to be a completely different topic of conversation and 
again, I get it wrong.

This must result from you seeing everything in terms which subdivide 
& isolate neatly. I clearly not just consider each email I've sent 
and you've sent as an interrelated whole, but also in context of 
every email I've ever read you write both recently and across the 
archives to anyone else. That's very interesting.

> > I had imagined that in the situation of C++ calling Python calling
> > C++, some form of metadata would need to accompany the data obtained
> > from C++ so you know you can throw away its temporarily constructed
> > container as the data reenters the C++ world. 
> 
> <sigh> Specifics and precision, please.  Guessing what you mean when
> you say things like "the data obtained from C++" in a context where
> data flows through the Python/C++ boundary twice in each direction is
> interesting, but not very productive.

To me at least, it was extremely clear from across the three emails I 
have posted prior to stating that statement that "the data obtained 
from C++" was that which the python function (invoked by call_method 
which was invoked by a virtual function call) had obtained by calling 
C++.

To frame this in terms of the example I sent you, the python .def 
getMetaClass() must return a FXMetaClass in order to fufil its 
interface contract. That FXMetaClass is "the data obtained from C++" 
because python must call C++ to get one (since it's not a wholly 
python class). Therefore, C++ calls virtual C++ method 
getMetaClass(), virtual C++ method getMetaClass() calls python .def 
getMetaClass(), and it must return a FXMetaClass.

I really, really hope you know what I mean now?

> >> I should've said "minimal but complete".
> >
> > I, like you, tend to assume the other person can infer the detail
> > from cursory explanations we post as it's more efficient that way. 
> 
> It's more efficient for you and less efficient for me.  Since it's my
> volunteer time, I'm asking you to do the work to make sure I don't
> waste a lot of time trying to figure out what you need and going down
> blind alleys.

But you must acknowledge that you do it just as much as me. I know 
that when you explain something you think it's blatently clear. 
However, if you examine the archives of this list, it is very clear 
from the long threads that people just don't get it first time, or 
even second and third time.

Neither you nor I do this intentionally. I thought I was being 
incredibly precise and clear when I wrote what I did - I run through 
every email three times ensuring the logic is correct, references 
complete and that there are no contradictions - and of course that 
anyone could get the jist of the thread immediately by adding 
parenthesisised "leaders" to enhance mental pattern recognition.

> Especially in a two-language (C++/Python) world, there is so much room
> for ambiguity that it can be very difficult to communicate.  I request
> that you make an extra effort to give me everything I need to help you
> and avoid misinterpretation.

I have never been on a mailing list on all my years where I've had so 
much trouble making myself understood or understanding what is being 
said - and I know from political, religious and philosophy debates on 
non-technical lists plus live debating & toastmastering competitions 
plus my work as a politician that I am normally extraordinarily clear 
in my arguments. From a psychological POV, it is extremely 
interesting and I'd just love to start a research project into it.

I must emphasise that I am not saying that I am being clear and you 
are not. I can see a great deal of clarity and preciseness in 
everything you say and have said. In many ways that's what's so 
frustrating - you have much I would like to learn and are clearly an 
expert - but it's almost like a western geometry book and a chinese 
geometry book - same thing, but totally different ways of explaining 
and framing it (ie; the /context/ is different).

Cheers,
Niall




-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 208 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/cplusplus-sig/attachments/20031022/72cc0407/attachment.pgp>


More information about the Cplusplus-sig mailing list