On Fri, Apr 23, 2004 at 10:37:00AM -0400, Aaron Sherman wrote: : It's a fine point... in the past, P5 and P6 have up-cased such : constructs in order to warn of their semi-keywordishness (e.g. DESTROY : or BUILD). I'm wondering why Larry chose to leave dispatcher and meta : lower in this case.
Hmm, yes. Well, I chose those for a very strong reason--I hadn't thought about the issue yet. :-)
I often throw things into Apocalypses that are "placeholders" when I know there wants to be something there, but I don't necessarily know what the right name is yet.
Generally I think of the uppercase names as ones that get called automatically most of the time. But there's also a history of uppercasing reserved names in general. (Though most of these are turning into ordinary variable names like $*OUT and @*ARGS). So we could uppercase these.
On the other hand, $obj.META.does is ugly. But maybe it should be ugly.
On the third hand, maybe we should go for $obj._meta_ or some such.
On the fourth hand, maybe it's okay to stick with .meta.
On the fifth hand, since it's aiming at a MetaClass, maybe it should be C<.Meta>.
On the sixth hand, by that argument, since .dispatcher is aiming at a Class, it should be an uppercase C<>. :-)
On the seventh hand, why not make it a property that can be put on any method, which punts the problem out a whole 'nother level? :)
--
Dan
--------------------------------------"it's like this"------------------- Dan Sugalski even samurai [EMAIL PROTECTED] have teddy bears and even teddy bears get drunk