From: Nicholas Clark Date: Thu, 6 Dec 2007 10:48:01 +0000 (+0000) Subject: Note that Larry has clarified the reasons for the Perl 6 design on X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=a2874905bb175d0411ea941a66a66854140f6794;p=p5sagit%2Fp5-mst-13.2.git Note that Larry has clarified the reasons for the Perl 6 design on state assignments. p4raw-id: //depot/perl@32581 --- diff --git a/pod/perltodo.pod b/pod/perltodo.pod index 9e66a83..8b0ce62 100644 --- a/pod/perltodo.pod +++ b/pod/perltodo.pod @@ -672,12 +672,12 @@ Currently this is illegal: state ($a, $b) = foo(); -The current Perl 6 design is that C and -C<(state $a) = foo();> have different semantics, which is tricky to implement -in Perl 5 as currently the produce the same opcode trees. It would be useful -to clarify that the Perl 6 design is firm, and then implement the necessary -code in Perl 5. There are comments in C that show the -code paths taken by various assignment constructions involving state variables. +In Perl 6, C and C<(state $a) = foo();> have different +semantics, which is tricky to implement in Perl 5 as currently the produce +the same opcode trees. The Perl 6 design is firm, so it would be good to +implement the necessary code in Perl 5. There are comments in +C that show the code paths taken by various assignment +constructions involving state variables. =head2 Implement $value ~~ 0 .. $range