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