On 8/28/00 3:09 PM, Damian Conway wrote:
>> (Or, was it already intended that the implementation of 'use
>> invocant' might be some sort of compile-time macro?)
> 
> No. I think a macro facility for Perl should be more general than just
> whacking some code in at the start of every subroutine.
> 
> The use invocant was proposed as a way to maintain backwards compatibility
> and yet give everyone the invocant access syntax he or she personally favours.

...while also giving the compiler enough information to allow such invocant
access to execute in an optimized manner...right?  C'mon, I'm dying here
thinking that all this (admittedly cool) stuff is gonna end up giving Perl 6
even more OO overhead than Perl 5!  You don't want to have to revise that
section of your OO Perl book to include an even *more* daunting performance
degradation factor estimate for Perl OO design, do you? :)

(What was it in the current edition..."up to 20x slower"?  *sigh*)

Anyway, I think that the "invocant" proposal is very Perl-ish...in both the
best and worst senses of the word.  Giving everyone the freedom to $ME and
"self" to their hearts' content is TMTOWTDI up the wazoo.  I'd probably be
happier with a One True "self-thingie" decision...unless, of course, it's
one of the ones I personally dislike ;)  But I have faith that The Powers
That Be would pick something sane like $self before a fanciful $THIS_IS_ME.

I'm also a bit concerned about readability and interoperability of "Your
Objects" vs. "My Objects."  I guess invocant directives are self-documenting
and should not cause any problems, functionally.  But it still kind of
creates a "...so we punted" feeling in me.  Again, the dark side of Timmy's
Toad...

-John

Reply via email to