At 07:12 AM 4/5/2002 +1000, Damian Conway wrote: >Melvin Smith wrote: >More generally, it also depends whether you think of out-of-band properties as >nouns or adjectives. For example: > > class Toaster is silver is shiny is hot is little {...} > >vs:
After rereading the example, this one bugs me. This is compile time, and should be an inline property. I see the potential for another Perl 'non-warning' bug, where someone typed: class Appliance { ....mucho lines of code... } class Toaster is appliance { .... } This trivial example would of course be spottable to all but the blindest programmer, but what about the more conceivable... class ToasterException is MyExceptionLibinHungarianNotationBurntBread { } Oops, the exception is really MyExceptionLibInHungarianNotationBurntBread but Perl6 wouldn't complain, right? It creates a property. It scares me to be able to _declare_ a new attribute with the same operator that I typically use to _inherit_ an existing class or property. Why not make 'is' a little tidier; require us to declare attributes inline, and let us tag _objects_ (not classes) at runtime with different notation? -Melvin