At 07:12 AM 4/5/2002 +1000, Damian Conway wrote: >Melvin Smith wrote: > > > 1) In Perl6 we can tag metadata properties to an object using the 'is' > keyword. > >Err, no. We can add properties to a *class* using C<is>. >To tag objects (which are run-time phenomena) we'd use C<but>.
Oops, ok this was my misunderstanding, and answers one of my concerns. > > 2) Also, in Perl6 we can derive a new class from an ancestor using 'is'. > >Correct. > > > > 3) Thirdly, we can specify that the class is an 'interface'. > > > > From my understanding 'interface' is a keyword here. Fair enough. > >No. C<interface> is a standard property that can be applied to classes. >So it's really just an instance of usage (1). > > > > I'd simply like to propose using 'has' for properties for 2 reasons: > > > > 1) The above is, to me, fuzzy to use it for all 3 of the cases. > >Only two cases. > > > > 2) 'has' is more intuitive for saying "This object _has_ this property". > >Sure, but C<is> is never applied to objects. Object properties are specified >by creating attributes and methods. The redundancy of class and object "properties" being specified 2 different ways was what bugged me but this was because of my misreading (read: light browsing ;) ) of the last Apoc/Exeg, I s'pose. >Yep. And linguistically (in English at least) we say "is" both when describing >copulative relationships (like inheritance) and when ascribing adjectival >properties to classes. So Perl 6 does too. Well, "is a" in the former, to be specific; but "is" is close enough. -Melvin