> Nothing the matter with "our" for class attributes since they're > already stored in the package if we follow Perl 5's lead. But using > "my" for instance attributes is problematic if we allow a class to > be reopened: > > class Blurfl { > my $.foo; > } > ... > class Blurfl is continued { > print $.foo; > } > > This violates the Perl 6 rule that "my" is always limited to a block. > That's why we came up with "attr", which has since mutated to "has".
[snip] > It's my gut feeling that class variables are already pretty close to > "our" variables, so we only need a new word for instance variables, > which have a very different scope from any variables in Perl 5. Ok. We also need a signifier for class methods (assuming a distinction is made). Perhaps one could use an initial cap to indicate a class attribute/method: class foo { my $bar; # my is not used for attributes our $baz; # neither is our has qux; # instance attribute has Waldo; # class attribute method qwe; # instance method method Rty; # class method } or similar. -- ralph