http://qs321.pair.com?node_id=1030031


in reply to RFC: Simulating Signatures
in thread RFC: Simulating Ruby's "yield" and "blocks" in Perl

Just asking a small question here...

How is

sub test { sig my $x, my $y , \@opt; }

Any better than

sub test { my ( $x , $y ) = @_; }

Don't get me wrong, I understand you add a few extra features to the first thing. But the user will have to learn/do extra syntax, without getting regular signature syntax like other C languages have. Besides these don't offer signatures in the true sense.

Replies are listed 'Best First'.
Re^2: RFC: Simulating Signatures
by LanX (Saint) on Apr 23, 2013 at 15:10 UTC
    > Besides these don't offer signatures in the true sense.

    I suppose with true signatures you mean something like test($x, $y , @opt).

    This can only be added by modifying the parser, something far beyond syntactic sugar.

    I heard that p5p recently discussed it but with no real outcome (plz prove me wrong).

    The essential problem with defining signatures is that the variables (normally) need to be lexicals.

    > I understand you add a few extra features to the first thing.

    But that's the point. I recently gave a longer workshop for my client about how to do parameter check in Perl. This really results in much code... and many people where either frustrated or bored.

    Many extra features within an easy syntax do motivate people! And maybe one day these extra features could be reused by a "true" implementation of signatures.

    Cheers Rolf

    ( addicted to the Perl Programming Language)