Andy ~
Since you didn't mention it in your references, you may want to
check out RFC 92, Extensible Meta-Object Protocol -- Method Search
at http://tmtowtdi.perl.org/rfc/92.pod
RFC 92 considers an existing Perl 5 module we have that allows
us to write code like the following, and it considers how to make
Perl 6 better support this kind of extensibility via modules (rather
than via new core functionality forced on us all).
package MyClass; use Prothos::Class ISA => ParentClass;
ivar Foo => Public, Write => Private;
ivar Bar => Private, Default => "Hello, World";
ivar Baz => Protected, Default => {}; # Hash ivar.
method HelloWorld => Public, sub
{
my ($I, %A) = @_;
$I->Baz(Name => $A{Name}); # Ivar accessor.
print $I->Baz("Name"), " says \"", $I->Bar, ".\n";
};
method Cogitate => Private, sub
{
...
};
method OverrideMe => Protected, Bind => Virtual, sub
{
...
};
Our little class generator does the things we need, without taxing
our conceptual notion of what Perl OO looks like. As far as I can
tell, RFC 95 doesn't do the things we need, while taxing our notion
of what Perl OO looks like. So I guess you can chalk up my comment
to be "skeptical", at least for now.
Yours, &c, Tony Olekshy