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

Reply via email to