develooper Front page | perl.perl5.porters | Postings from June 2015

Re: For 5.24: suggested incompatible changes

Thread Previous | Thread Next
From:
Ricardo Signes
Date:
June 27, 2015 12:49
Subject:
Re: For 5.24: suggested incompatible changes
Message ID:
20150627124922.GB24235@cancer.codesimply.com
* Reini Urban <reini@cpanel.net> [2015-06-27T03:53:37]
> * @_ will be empty in a function with signature

I'm looking forward to this being possible, and I imagine it will be enabled by
some future convenience like 'use 5.28' along with signatures, but so far the
plan has been to make the two settings distinctly settable... but the speed
gain will be available, and I hope on by default when signatures graduate to
first-class.

> * parse types in signatures

I don't really have any thoughts on this.  The hints in p5 are pretty anemic,
but being able to set them on the "my $x" from signature as you can in "my $x"
itself seems fair.

> * no experimental::signatures

I'm confused by what you're suggesting.  Signatures will remain experimental
until they are not experimental, and changing the design is only possible (as
you say at the outset) *because* they are experimental.

I think maybe you mean they should not require "use feature" to use them
because they could be made unambiguous.

I don't like the changes you suggest to make them unambiguous, and don't really
see the value in getting rid of the need for feature.  Likely when these leave
experimental status, the feature version bundle will turn on signatures, and
that's that.

> * no empty bare $ signature
> 
> this clashes with prototypes, and is horrible backwards design which
> should not be encouraged.

Tell us how you really feel. :-)

Anyway, I'm not sold that making prototypes and signatures occupy one namespace
has any value, so making a change toward that isn't an obvious good, to me.  We
want a way to make a placeholder in the signature, "$_" and "@_" are obviously
off the table, and "$" and "@" do the job okay.

> * automatic prototypes from signatures

Absolutely not, no way.  Prototypes are a headache waiting to happen almost
always.

> * PERLIO_DEBUG only with DEBUGGING, use for all -D*

Here, I defer to the experts.

> constant fold functions even without ()

Isn't this sorted by the :const attribute?  I might be misunderstanding.
The scope on this section seemed to creep, or possibly I just missed the plot.

-- 
rjbs

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About