Re: [Pyobjc-dev] Further evidence of the need to start over (fwd)
Brought to you by:
ronaldoussoren
From: Steven D. M. <sd...@mi...> - 2001-05-12 00:06:01
|
[ Trying one more time to get this sent from the right machine so the mailing-list manager program will accept it! <groan> ] ---------- Forwarded message ---------- Date: Fri, 11 May 2001 19:52:38 -0400 (EDT) From: Steven D. Majewski <sd...@Vi...> To: Bill Bumgarner <bb...@CO...> Cc: Yves Starreveld <yst...@uw...>, pyo...@li... Subject: Re: [Pyobjc-dev] Further evidence of the need to start over Resent-Date: Fri, 11 May 2001 19:58:53 -0400 (EDT) Resent-From: "Steven D. Majewski" <sd...@Vi...> Resent-To: sd...@mi... Resent-Subject: Re: [Pyobjc-dev] Further evidence of the need to start over On Fri, 11 May 2001, Bill Bumgarner wrote: > OK-- I "fixed" the problem with forwardInvocation: being invoked on > NSProxy. Was a matter of not passing -forwardInvocation: off to super > in OC_PythonObject.m. > > It seems to kind of fix the problem. However, after a couple of runs of > HelloWorld.py, I'm no longer able to execute that script due to a Window > Manager issue-- either with the original version or new version of > OC_PythonObject.m. I did this at one time in one of my experimental versions -- I had thought I posted something about it, but it was probably before you started up this list -- it may have been in one of my summaries to pythonmac-sig -- or maybe I'm just imagining it! I know I took it out before merging my changes into CVS. I recall running some experiments with and without that patch -- I should still have some notes. > As such, I really think we need to do two things: > > - rewrite the PyObjC bridge entirely and aim it *only* at solving > the Foundation and below problem (while removing cruft from almost 8 > years ago, at this point) > I caught up with reading some threads on python-dev about plans to fix the class-instance/builtin-object split in Python, and was reading up on the metaclass hack and Jim Fultons extension classes. [ See: <http://www.python.org/doc/essays/metaclasses/> or look in the Demo subdirectory of your python source distribution. ] The class/object split is one of the things that needs to be fixed in a rewrite: Objective-C classes are Python objects but not Python classes, so you can't extend an objective-C class directly. The Python BOOST C++ library uses the metaclass hack to make C++ classes extensible in Python. -- Steve Majewski [ PS. I *am* going to answer some of Deidre's other questions -- I've been out of the office a bit lately -- trying to get my other car to pass inspection, and selling off a big chunk of of my library -- but in between that I've been trying to see if I could find a way around some of the problems. ] |