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>
Would mean:
is doc('Convert', 'degrees', 'F', 'to', 'degrees', 'C')
Which I expect is not what you intended. But if we start allowing that
everywhere, then I think that we'd have to do it for subs, too:
sub foo([EMAIL PROTECTED]) {...}
foo<a b c d e>
And that isn't an implausible thing to do, but it forbids what might be
a common practice:
$foo.hash{'a'}
Replacing it with the more convoluted:
$foo.hash(){'a'}
And it essentially wouldn't allow objects that could be treated as both
subs and hashes... not that that's a huge loss. Anyway, I think you'll
have to stick with is doc('...').
Luke
> --
> Chip Salzenberg - a.k.a. - <[EMAIL PROTECTED]>
> Open Source is not an excuse to write fun code
> then leave the actual work to others.
>