From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <13426df10701171309w65f11042l413cbcad22e7993f@mail.gmail.com> Date: Wed, 17 Jan 2007 14:09:12 -0700 From: "ron minnich" To: "Fans of the OS Plan 9 from Bell Labs" <9fans@cse.psu.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Subject: [9fans] Python cleverness Topicbox-Message-UUID: 058e11a8-ead2-11e9-9d60-3106f5b1d025 There are 1300 cases in Python of different type signatures for calls to the same function. I think this is some new, powerful, programming model, where you call things with structures that could be the same but really aren't. I guess the idea is that the common elements of the structure are all the same, and declared first, so really, everything should just work out fine, even though the structures are all different. Everything's fine, don't worry, lie back and think of England. (Warning! cultural reference ahead! See http://en.wikipedia.org/wiki/Pollyanna) I think we can call it Pollyanna-morphism. (now, for those of you who got it, you have to admit that's a pretty good joke:-) I also expect that, were I to go to the Python community, and mention that this might be an issue with type-safe linking, that I would not get an enthusiastic reception. It's just too embedded in the code, and it's so clear that it is intended to work this way, that I doubt it is an accident of some sort. Therefore, I'm going to try to see if I can make 8l issue a warning only for incompatible type signatures. I already tried just not incrementing nerror in the diag call, but this still is not giving me an 8.out; clearly I'm missing something. But, if I can get this, we should have dynamic modules in Python, and I get to check that box, since python and dynamic modules have become very important to supercomputer applications writers. There, I said that without grimacing :-) ron