Brandon S. Allbery KF8NH wrote: > TSa wrote: > > I totally agree! Using 'isa' pulls in the type checker. Do we have the > > same option for 'does' e.g. 'doesa'? Or is type checking always implied > > in role composition? Note that the class can override a role's methods > > at will. > > It occurs to me that this shouldn't be new keywords, but adverbs, i.e. ``is > :strict Dog''.
Agreed. I'm definitely in the category of people who find the difference between "is" and "isa" to be, as Larry put it, eye-glazing. I can follow it, but that's only because I've been getting a crash course in type theory. Brandon's alternative has the potential to be less confusing given the right choice of adverb, and has the added bonus that the same adverb could apply equally well to both 'is' and 'does'. On a side note, I'd like to make a request of the Perl 6 community with regard to coding style: could we please have adverbal names that are, well, adverbs? "is :strict Dog" brings to my mind the English "Fido is a strict dog", rather than "Fido is strictly a dog". Not only is "is :strictly Dog" more legible, but it leaves room for the possible future inclusion of adjective-based syntax such as "big Dog" (which might mean the same thing as "Dog but is big" or "Dog where .size > Average"). To misquote Einstein, things should be as simple as is reasonable, but not simpler. -- Jonathan "Dataweaver" Lang