X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperltodo.pod;h=5dbe882eb15be9c3acd8ad430bf3bdff39b90fa8;hb=7b667b5fb1c41f31aff1e46b9f74e36eb063010e;hp=ec92a564652af6771c7bba188c5dab6f31aa2122;hpb=969e704ba5232fa0b254fa8b53740042a33809cf;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perltodo.pod b/pod/perltodo.pod index ec92a56..5dbe882 100644 --- a/pod/perltodo.pod +++ b/pod/perltodo.pod @@ -27,6 +27,11 @@ it would be a good thing. Fix (or rewrite) the implementation of the C closures. +=head1 A re-entrant regexp engine + +This will allow the use of a regex from inside (?{ }), (??{ }) and +(?(?{ })|) constructs. + =head1 pragmata =head2 lexical pragmas @@ -137,6 +142,14 @@ O.pm/B.pm backend framework depends on it. Make the peephole optimizer optional. +=head2 You WANT *how* many + +Currently contexts are void, scalar and list. split has a special mechanism in +place to pass in the number of return values wanted. It would be useful to +have a general mechanism for this, backwards compatible and little speed hit. +This would allow proposals such as short circuiting sort to be implemented +as a module on CPAN. + =head2 lexical aliases Allow lexical aliases (maybe via the syntax C. @@ -171,11 +184,6 @@ Clean these up. Move them to mathom.c, and don't compile for blead? The old perltodo notes "This has been done in places, but needs a thorough code review. Also fchdir is available in some platforms." -=head2 foreach reverse - -The old perltodo notes that we could optimise foreach to iterate in reverse. -(instead of making a reversed copy on the stack) - =head1 Tests =head2 Make Schwern poorer @@ -211,6 +219,23 @@ with Config.pm. We could use a syntax of ... for location of current binary? =head2 make HTML install work +=head2 put patchlevel in -v + +Currently perl from p4/rsync ships with a patchlevel.h file that usually +defines one local patch, of the form "MAINT12345" or "RC1". The output of +perl -v doesn't report that a perl isn't an official release, and this +information can get lost in bugs reports. Because of this, the minor version +isn't bumped up util RC time, to minimise the possibility of versions of perl +escaping that believe themselves to be newer than they actually are. + +It would be useful to find an elegant way to have the "this is an interim +maintenance release" or "this is a release candidate" in the terse -v output, +and have it so that it's easy for the pumpking to remove this just as the +release tarball is rolled up. This way the version pulled out of rsync would +always say "I'm a development release" and it would be safe to bump the +reported minor version as soon as a release ships, which would aid perl +developers. + =head1 Incremental things Some tasks that don't need to get done in one big hit. @@ -258,10 +283,17 @@ The old perltodo notes "Although we have C in core, Larry points to the dormant C and C ops in F; using these opcodes would be much faster." -** Attach/detach debugger from running program +=head2 Attach/detach debugger from running program The old perltodo notes "With C, you can attach the debugger to a running program if you pass the process ID. It would be good to do this with the Perl debugger on a running Perl program, although I'm not sure how it would be done." ssh and screen do this with named pipes in tmp. Maybe we can too. +=head2 A decent benchmark + +perlbench seems impervious to any recent changes made to the perl core. It would +be useful to have a reasonable general benchmarking suite that roughly +represented what current perl programs do, and measurably reported whether +tweaks to the core improve, degrade or don't really affect performance, to +guide people attempting to optimise the guts of perl.