Re: RFC 152 (v1) Replace $self in @_ with self() builtin (not $ME )

[email protected] (Damian Conway)
Newsgroups perl.perl6.language.objects
Message-ID <[email protected]>
   > > 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!
   
Use invocant won't add any runtime overhead. In fact it might save a smidgeon.


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

Out by a factor of 10! I said "20 to 50 percent slower".


   > 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.

I think they would *improve* readability. Certainly over $_[0], and
even over:

	sub method {
		my ($self, @args) = @_;
		...
	}

I'm *forever* writing that and just it clutters up the code.

Damian
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.