Front page | perl.perl6.language |
Postings from December 2003
From: Luke Palmer
December 12, 2003 03:23
Message ID: 20031212112302.GA27893@babylonia.flatirons.org
So I'm seeing a lot of inconsistent OO-vocabulary around here, and it
makes things pretty hard to understand.
So here's how Perl 6 is using said inconsistent terms, AFAIK:
A concrete data member of a class. Used with C<has>.
An out-of-band sticky note to be placed on a single object.
Used with C<but>.
A compile time sticky note to be placed on a wide variety of things.
Used with C<is>.
A collection of methods to be incorporated into a class sans
inheritance (and maybe some other stuff, too). Used with C<does>.
So for example:
does Boolean # role
is extended # trait
is Mammal # 
has $.tail; # attribute
has @.legs; # attribute
my $fido = Dog.new
but false; # property
Hope that clears things up.
 This is a base class, which is an overloaded use of C<is>. Though,
upon A12 release, we'll probably find out that it's not overloaded but
instead, elegantly unified, somehow.
by Luke Palmer