Damian Conway <[EMAIL PROTECTED]> wrote: > [an extremely well-thought-out explanation]
Thank you, Dr. Conway. That was very enlightening, and I think I agree with all of it. Larry Wall <[EMAIL PROTECTED]> wrote: > You guys are all ignoring that I said it could be set via pragma or macro. > If you want ^, just say > > use self '^'; > > or some such. Then we can let it be decided culturally. I think this is one of those solutions that is elegant, accomodating, and wrong. I don't think it's a good idea to have every Perl programmer choose their own way of writing "the current object". When I see an error like "Use of undefined value at Foo/Bar.pm line 441", I want to be able to jump to line 441 of Foo/Bar.pm and instantly understand what's going on. I don't want to check every line of code that falls before Foo/Bar.pm line 441 to see what this programmer chose as his invocant. Even Perl 5 wasn't that bad--you just had to find the line that unpacked the arguments. I can understand that being required to get the power of syntax modifications, but there's little power gained in choosing your own 'self'. And I'm not even asking for self.pm to be removed--just for a default to be provided. Way back in Apocalypes 1, you said this: "I was peeved by the approach taken by DEC when they upgraded BASIC/PLUS to handle long variable names. Their solution was to require every program using long variable names to use the command EXTEND at the top. So henceforth and forevermore, every BASIC/PLUS program had EXTEND at the top of it. I don't know whether to call it Bad or Ugly, but it certainly wasn't Good." Considering the tiny amount of power given by 'self', is it really a good idea to require it whenever somebody wants to talk about their own object? Like the decision about which side of the road cars should drive on, it really doesn't matter *which* choice is taken, as long as *something* is decided. I've seen other languages use "this", "self", and even "me", and few people complain about a particular language's choice. (My suggestion would be "o" or "O", as suggested in another thread, but I'm certainly not attached to those keywords.) -- Brent 'Dax' Royal-Gordon <[EMAIL PROTECTED]> Perl and Parrot hacker