On Thu Nov 29 22:08:11 2007, [EMAIL PROTECTED] wrote:
> Will Coleda wrote:
> > 
> > 1) using getclass (aka, reject this ticket)
> > 2) doing something custom for the say method here (like, say, 
> > translating say 'what' into something like "getstdout P0; 
> > P0.'say'('what');"
> > 3) eliminating the automagic method translation used here and just 
> > writing a 'say' opcode.
> > 4) find a syntax that works generically like the current method does;
> > 
> > There are currently 42 of these automagic translations (found in 
> > src/builtins.c)
> > 
> > What's the desired approach here? I'd prefer 4 slightly over 3; neither 
> > requires a deprecation cycle (unless as part of 3 we decide to not 
> > support opcodes/faux-opcodes for some of them.); 2 is evil. I am neutral 
> > on 1.
> 
> Another alternative is to update ParrotIO so it works with the new 
> 'get_class'. That change is in the works, I/O will be integrated into 
> the new OO model, instead of using its own custom OO-like system. But 
> the new I/O model is scheduled for completed implementation in May, and 
> it'd be nice to remove 'getclass' before then.
> 
> I'm in favor of making 'say' a standard opcode, whatever else we do. 
> That is, assuming it's worth keeping. Show of hands if you use it and 
> want to keep it.
> 
> Allison
> 

In order to facilitate the removal of the getclass opcode, I've created a 
branch 
"no_builtin_methods" to experiment with removing the special translation that 
exists for 
many methods on builtin PMCs and, if necessary, replacing them with actual 
opcodes. 
(Especially the 'say' variants.)

-- 
Will "Coke" Coleda

Reply via email to