From: Nicholas Clark Date: Tue, 2 Sep 2008 15:18:57 +0000 (+0000) Subject: The tasks needed to get smart match fixing underway for 5.10.1 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=162f8c6795b94ac69ddd84e3f510dab96b20003f;p=p5sagit%2Fp5-mst-13.2.git The tasks needed to get smart match fixing underway for 5.10.1 p4raw-id: //depot/perl@34241 --- diff --git a/pod/perltodo.pod b/pod/perltodo.pod index 36f36bd..f99c4ae 100644 --- a/pod/perltodo.pod +++ b/pod/perltodo.pod @@ -23,6 +23,53 @@ programming languages offer you 1 line of immortality? =head1 Tasks that only need Perl knowledge +=head2 Smartmatch design issues + +In 5.10.0 the smartmatch operator C<~~> isn't working quite "right". But +before we can fix the implementation, we need to define what "right" is. +The first problem is that Robin Houston implemented the Perl 6 smart match +spec as of February 2006, when smart match was axiomatically symmetrical: +L + +Since then the Perl 6 target moved, but the Perl 5 implementation did not. + +So it would be useful for someone to compare the Perl 6 smartmatch table +as of February 2006 L +and the current table L +and tabulate the differences in Perl 6. The diff is +C +-- search for C<=head1 Smart matching> + +With that done and published, someone (else) can then map any changed Perl 6 +semantics back to Perl 5, based on how the existing semantics map to Perl 5: +L + + +There are also some questions that need answering: + +=over 4 + +=item * + +How do you negate one? (documentation issue) +http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-01/msg00071.html + +=item * + +Array behaviors +http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2007-12/msg00799.html + +* Should smart matches be symmetrical? (Perl 6 says no) + +* Other differences between Perl 5 and Perl 6 smart match? + +=item * + +Objects and smart match +http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2007-12/msg00865.html + +=back + =head2 Remove duplication of test setup. Schwern notes, that there's duplication of code - lots and lots of tests have