Damian: > ["it" will be passed to about 5% of subs, > regardless of whether the context is your > 10 line scripts or my large modules]
If the syntax for passing "it" to a sub remains as verbose as it currently is, you are probably right that "it" won't be used to achieve brevity! I think it's a pity given that the core point of "it" is to achieve brevity. Why do you think your estimate of Perl 6 usage of "it" is so much lower than is true for the standard Perl 5 functions? Btw, can I just confirm that one can't do: sub f ($a = <mumble>) { ... } or sub f (;$_ = <mumble>) { ... } where <mumble> is the upscope it and $_ is the sub's topic. > > Can currying include the given topic? > > Maybe. Naturally, I see this as another symptom of the way upscope "it" is being treated as a second class citizen, and that this is leading things in the wrong direction. > > And what about a topic placeholder: > > > > $foo = { print $^_ }; > > > > such that $^_ is effectively converted > > to an 'is given($^_)'. > > No, that doesn't work. The placeholder > $^_ is entirely unrelated to $_. Well, it is at the moment, but there is clearly mnemonic value between $^_ and $_. > Besides, what's wrong with: > > $foo = sub { print $_ } is given($_); Compared with $foo = sub { print $^_ }; The answer is brevity, or lack thereof. Why bother with currying? Why bother with the "it" concept? None of these are necessary. They simplify code generation, but their more general feature is enabling brevity. -- ralph