> relatively few subroutines need access > to the upscope topic. Well, this is a central issue. What are the real percentages going to be here? Just how often will one type the likes of
-> is given($foo is topic) { ... } rather than -> $foo: { ... } ? My imagination suggests to me that in a typical short perl 6 script, between 20% and 50% of all sub defs would use the upscope topic... ;> Seriously, the functions chapter of Camel III contains 202 functions; 36 of these use the upscope topic. So that gives an idea of what to expect -- although there is likely to be /more/ use of tricks like this that support brevity when advanced coders specifically wish to write brief scripts. Unless of course the very syntax that creates /call/ brevity is itself so verbose that it neutralizes some of its utility in such cases, something that would be rather ironic, don't you think? > Moreover, because ['is given'] compromises > the lexical scoping of the upscope topic, > it ought to be marked very clearly Yes. > [keywords are clearer than punctuation for > marking something] I think that's overly general. In something that is as likely to be naturally keyword dense as a sub or method definition, I imagined the situation would be near reverse, i.e. well chosen punctuation would often be a better pick than YAK for marking something. (Maybe colon isn't it, but I didn't pick that.) Of course, in code written to be brief, sub defs would tend to be less keyword, but then again, in code written to be brief, brevity would again suggest punctuation. So perhaps punctuation wins in both cases; in large projects sub defs will be keyword dense and punctuation would better highlight "it" and in small scripts, punctuation in sub defs would be desirable for brevity. -- ralph