On Friday, February 21, 2003, at 05:19 PM, Ken Williams wrote:

No, I meant that you'd just define sub NSWindow::foo directly

Oh, I see.


, but I guess if NSWindow isn't implemented in Perl (or rather, if the method dispatch isn't happening from within Perl) that wouldn't be possible.

Right. The current implementation is actually fairly simple - it uses Perl's AUTOLOAD and Objective-C's equivalent. On each side of the bridge, a proxy object forwards any methods it doesn't grok to its counterpart on the other side.


So, what happens if you add a Perl method to an existing ObjC class is, you can call that method from Perl, but not ObjC. In other words, you've extended the Perl wrapper class - not the ObjC class.

Integration will be much better in 0.3 - which is one reason why it's taking so long. Going from simple proxy objects and message forwarding, to tight integration with the ObjC runtime, required some major refactoring. It's basically a completely rewrite; there is even some PPC assembler in it, to accomplish some of the more esoteric stack-frame magic.

sherm--

Heisenberg may have slept here.

Reply via email to