On Thu, Sep 08, 2005 at 04:52:52PM -0400, Stevan Little wrote:
: But what if I want to do this?
: 
: class Foo {
:       my %:stuff;
:       method keys (Class $c:) {
:               %:stuff.keys();
:       }
: }
: 
: How can I get at my namespace now? How would I disambiguiate that call? 
: Doing something like Foo.Package::keys() seems to me to be exposing too 
: much of the meta-level (the Package class).
: 
: I can see lots of  potential conflict between class methods and methods 
: to access the contents of a namespace (methods defined in the Hash role 
: I assume). This means that Foo is getting even more and more magical. 
: It's now a type annotation, a special undef value, the invocant in 
: class methods and the "gatekeeper" of the namespace.
Well, like I said, we can require the extra :: in cases of ambiguity.  It's
really only the misplaced sigil I'm trying to get rid of.

Larry

Reply via email to