X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperltodo.pod;h=7de53535c07c1bb47cc16c534b368bef46513e07;hb=af9e49b40a4cc2d6c0d5ebad7e84fb62143b24e1;hp=6698b8da971e9292e426b16572683087636bead2;hpb=0c13e809ed4d404a11e0397efa6d6cb6bbb30d3e;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perltodo.pod b/pod/perltodo.pod index 6698b8d..7de5353 100644 --- a/pod/perltodo.pod +++ b/pod/perltodo.pod @@ -4,66 +4,462 @@ perltodo - Perl TO-DO List =head1 DESCRIPTION -This is a list of wishes for Perl. Send updates to -I. If you want to work on any of these -projects, be sure to check the perl5-porters archives for past ideas, -flames, and propaganda. This will save you time and also prevent you -from implementing something that Larry has already vetoed. One set -of archives may be found at: +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. + +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 +ideas, and any discussion about them. One set of archives may be found at: http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/ -=head1 assertions +What can we offer you in return? Fame, fortune, and everlasting glory? Maybe +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? -Clean up and finish support for assertions. See L. +=head1 The roadmap to 5.10 -=head1 iCOW +The roadmap to 5.10 envisages feature based releases, as various items in this +TODO are completed. -Sarathy and Arthur have a proposal for an improved Copy On Write which -specifically will be able to COW new ithreads. If this can be implemented -it would be a good thing. +=head2 Needed for a 5.9.3 release -=head1 (?{...}) closures in regexps +=over -Fix (or rewrite) the implementation of the C closures. +=item * +Implement L -=head1 pragmata +=back -=head2 lexical pragmas +=head2 Needed for a 5.9.4 release -Reimplement the mechanism of lexical pragmas to be more extensible. Fix -current pragmas that don't work well (or at all) with lexical scopes or in -run-time eval(STRING) (C, C, C for example). MJD has a -preliminary patch that implements this. +=over -=head2 use less 'memory' +=item * +Review assertions. Review syntax to combine assertions. Can assertions take +advantage of the lexical pragams work? L -Investigate trade offs to switch out perl's choices on memory usage. -Particularly perl should be able to give memory back. +=back -=head1 prototypes and functions +=head2 Needed for a 5.9.5 release -=head2 _ prototype character +=over -Study the possibility of adding a new prototype character, C<_>, meaning -"this argument defaults to $_". +=item * +Implement L -=head2 inlining autoloaded constants +=item * +Implement L -Currently the optimiser can inline constants when expressed as subroutines -with prototype ($) that return a constant. Likewise, many packages wrapping -C libraries export lots of constants as subroutines which are AUTOLOADed on -demand. However, these have no prototypes, so can't be seen as constants by -the optimiser. Some way of cheaply (low syntax, low memory overhead) to the -perl compiler that a name is a constant would be great, so that it knows to -call the AUTOLOAD routine at compile time, and then inline the constant. +=back + +=head2 Needed for a 5.9.6 release + +Stabilisation. If all goes well, this will be the equivalent of a 5.10-beta. + +=head1 Tasks that only need Perl knowledge + +=head2 common test code for timed bail out + +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. + +=head2 POD -> 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 +flexibility POD allows for C<=item>, but it would be good to improve the +visual appeal of the HTML generated, and to avoid it having any validation +errors. See also L, as the layout of installation tree +is needed to improve the cross-linking. + +=head2 Parallel testing + +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