Brent asked:
> # Well, I'm not a Damian, but I play one on perl6-language. ;-)
>
> Well, then, where's a *real* Damian? :^)
The Real Damian is the Damian inside each of us.
You need to get in touch with your *own* inner Damian.
;-)
> I assume we're going to recycle 'my' and 'our' to be 'instance' and
> 'class'--is that correct?
That's what I'm proposing.
> Will that be lvalue or rw? I could see it being rw, to keep the number
> of intrinsic properties to a minimum, and since it's a nice analogy to
> rw parameters. (Plus we might want to reserve lvalue for more magical
> lvalue tricks--sort of a poor man's tie().)
Still to be decided. Most folks I've talked to (and that's quite a few folks)
like C<is rw> for parameters, but loathe it for return values. We'll see.
> What if we have an instance variable $foo and a global $foo, and we want
> to access the global?
If it's a package variable, prefix it with it's package name
(actually, s/package/module/g in Perl 6, but I didn't want to confuse the
issue further)
If it's a true global, use $*foo (a la Apocalypse 2)
If it's an outer-scope lexical, use C<caller->{MY}> or else rebind it
before the class declaration:
my $foo;
$bar := $foo;
class Whatever {
my $foo;
method baz {
return $foo if $bar;
# ^ ^
# | |
# attribute $foo outer lexical $foo
}
}
> Are we still gonna be able to pick what we call the current instance?
I would hope so.
I favour the ability to write:
method actor {
my $me is invocant;
...
}
> All these Star Trek references are threatening to make my warp core
> breach... :^)
Too much information.
;-)
Damian