Newsgroups: perl.perl6.internals
From: d...@sidhe.org (Dan Sugalski)
Date: Sat, 11 Jan 2003 13:25:37 -0500
Local: Sat, Jan 11 2003 1:25 pm
Subject: Re: Objects, finally (try 1)
At 4:08 PM +0000 1/11/03, Nicholas Clark wrote:
>On Thu, Jan 09, 2003 at 04:40:20PM -0500, Dan Sugalski wrote: Sorry. The assumption is one of three things happen: >> The find_method vtable entry should die, and be replaced with a plain >> method entry. This should return either the address of the start of >> the method's bytecode, or NULL. The NULL return is for those cases >> where the method actually executed via native code, and thus doesn't >> have to go anywhere. If an address is returned it's expected that the >> engine will immediately dispatch to that spot, obeying parrot's >> calling conventions. >What about the case where the object doesn't have the method you're asking 1) A value is returned, which is the address of the parrot code to dispatch to >And if NULL is returned it is expected that the method has already been If we don't have a can in the vtable, then we need to fix that. :) >called? If so, there doesn't seem to be any way to find out if a PMC >possesses (modulo AUTOLOAD) a method, without the danger of it being called. >Will there be anything built in at parrot level like Perl's AUTOLOAD system? Parrot will have an AUTOLOAD-style fallback mechanism available to >Or will that have to be done explicitly by the perl6 code generator wrapping >methods in a routine that catches the "not found" exception, and attempts to >use AUTOLOAD? [and whatever multimatch despatch system perl6 will be using to >find the "best" method] it. I'll add that to the design todo list for the edited version of objects. -- Dan --------------------------------------"it's like this"------------------- You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
| ||||||||||||||