Make "is" polymorphic :D Michael
On Thu, 31 Mar 2005 21:24:52 -0500 (EST), Abhijit Mahabal <[EMAIL PROTECTED]> wrote: > On Thu, 31 Mar 2005, Luke Palmer wrote: > > > Chip Salzenberg writes: > >> I'd like to annotate Perl 6 parameters and other entities using > >> traits, since that's the best way (I know of) to have them appear > >> immediately in the text of the program where they are. > >> > >> Supposing I had a "doc" trait, could I say: > >> sub f2c (Num $temp doc<Temperature in degrees F>)>> > >> doc<Convert degress F to degrees C> > >> {...} > >> > >> Or would I be forced to spell it doc('stuff') ? > > > > Well, first you need an `is` somewhere in there. And after that I think > > you'll need to do it in doc('stuff') form. If we did allow doc<>, then > > this: > > > > is doc<Convert degrees F to degrees C> > > > > But if you are going to use doc('') in a million places, can you not also > make doc a trait_verb and save a little typing? So: > > role doc{ > sub *trait_verb:doc($container: $string) { > ... > } > } > > But what do I apply the role to? perhaps > class Object does doc > > Now > > sub f2c (Num $temp doc "Temperature in degrees F") {...} > > works(I think): trait_verb:doc is a sub, not a method, and so parens are > not needed. > > It works, but that doesn't read too well. We do need a verb there. "docs", > perhaps? Or "gloss", which is both a noun and a verb? > > --abhijit >