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

Reply via email to