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