X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperltodo.pod;h=30f17b04cbc8ad30d90482654ac035b0deed2e84;hb=00ca1d0d42208c5980e79d63906648d2926498ec;hp=651f568f094d6e8b859cb4aa169c53a1ae9f5b84;hpb=256ddcd0907fa1fc11538ea1a70ff79ba0167b40;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perltodo.pod b/pod/perltodo.pod index 651f568..30f17b0 100644 --- a/pod/perltodo.pod +++ b/pod/perltodo.pod @@ -4,10 +4,11 @@ perltodo - Perl TO-DO List =head1 DESCRIPTION -This is a list of wishes for Perl. The tasks we think are smaller or easier -are listed first. Anyone is welcome to work on any of these, but it's a good -idea to first contact I to avoid duplication of -effort. By all means contact a pumpking privately first if you prefer. +This is a list of wishes for Perl. The tasks we think are smaller or +easier are listed first. Anyone is welcome to work on any of these, +but it's a good idea to first contact I to +avoid duplication of effort, and to learn from any previous attempts. +By all means contact a pumpking privately first if you prefer. Whilst patches to make the list shorter are most welcome, ideas to add to the list are also encouraged. Check the perl5-porters archives for past @@ -20,46 +21,65 @@ not, but if your patch is incorporated, then we'll add your name to the F file, which ships in the official distribution. How many other programming languages offer you 1 line of immortality? -=head1 The roadmap to 5.10 +=head1 Tasks that only need Perl knowledge -The roadmap to 5.10 envisages feature based releases, as various items in this -TODO are completed. +=head2 Smartmatch design issues -=head2 Needed for a 5.9.5 release +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 -=over +Since then the Perl 6 target moved, but the Perl 5 implementation did not. -=item * +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 annotated view of changes is +L and the diff is +C +-- search for C<=head1 Smart matching>. (In theory F can generate that, +but in practice when I tried it hung forever, I assume "thinking") -Review assertions. Review syntax to combine assertions. Assertions could take -advantage of the lexical pragmas work. L +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 -=back -=head2 Needed for a 5.9.6 release +There are also some questions that need answering: -Stabilisation. If all goes well, this will be the equivalent of a 5.10-beta. +=over 4 -=head2 Needed for the final 5.10.0 release +=item * -=over 4 +How do you negate one? (documentation issue) +http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-01/msg00071.html =item * -Review perlguts. Significant changes have occured since 5.8, and we can't -release a new version without making sure these are covered. +Array behaviors +http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2007-12/msg00799.html -=back +* Should smart matches be symmetrical? (Perl 6 says no) -=head1 Tasks that only need Perl knowledge +* Other differences between Perl 5 and Perl 6 smart match? + +=item * -=head2 common test code for timed bail out +Objects and smart match +http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2007-12/msg00865.html -Write portable self destruct code for tests to stop them burning CPU in -infinite loops. This needs to avoid using alarm, as some of the tests are -testing alarm/sleep or timers. +=back -=head2 POD -> HTML conversion in the core still sucks +=head2 Remove duplication of test setup. + +Schwern notes, that there's duplication of code - lots and lots of tests have +some variation on the big block of C<$Is_Foo> checks. We can safely put this +into a file, change it to build an C<%Is> hash and require it. Maybe just put +it into F. Throw in the handy tainting subroutines. + +=head2 POD -E HTML conversion in the core still sucks Which is crazy given just how simple POD purports to be, and how simple HTML can be. It's not actually I simple as it sounds, particularly with the @@ -71,36 +91,24 @@ is needed to improve the cross-linking. The addition of C and its related modules may make this task easier to complete. +=head2 merge checkpods and podchecker + +F (and C in the F subdirectory) +implements a very basic check for pod files, but the errors it discovers +aren't found by podchecker. Add this check to podchecker, get rid of +checkpods and have C use podchecker. + =head2 Parallel testing (This probably impacts much more than the core: also the Test::Harness and TAP::* modules on CPAN.) -The core regression test suite is getting ever more comprehensive, which has -the side effect that it takes longer to run. This isn't so good. Investigate -whether it would be feasible to give the harness script the B