> 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

Reply via email to