Tom Christiansen wrote:
> 
> It is?  I don't see that this is a pain at all.  It seems like
> a beautiful point of homogenization.  You don't force the user
> to say $self; they could use $this if they wanted.  Heck, they
> don't need it at all.
> 
>     my(undef, @args) = @_;

It's a pain if you want to support both function-oriented and
object-oriented calling forms, as CGI.pm does. For example, you can use
both of these:

   print header;
   print $r->header;

with CGI.pm. Now you need a self_of_default special method, since
sometimes $_[0] has a class ref and sometimes it has the first method
argument.

> Or as in
> 
>     shift->fn(@_)

I don't see how this RFC is super-revolutionary, personally. Your
example would just become:

   self->fn(@_);

with the added benefit that, unlike shift->fn(@_), you can call the same
thing 10 times in a row and it still works:

   self->fn1(@_);
   self->fn2(@_);     # can't do that with shift

I also don't see how this precludes the use of $ME, $self, $this, or any
other variable name:

   $ME = self;
   $self = self;
   $this = self;

-Nate

Reply via email to