Straight from the pumking's mouth:

----- Forwarded message from Jarkko Hietaniemi <[EMAIL PROTECTED]> -----

From: Jarkko Hietaniemi <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Subject: 5.8.0 to-do list

The bad news is that it seems that the things on what I consider to
be a todo list are relatively hard.  The good news is that the list
is not too long.

(1) PerlIO and Threading and Multiplicity

    These issues are in deadly embrace.

    - Threadunsafety: for example duping (PerlIO_fdupopen), and _perlio
    - Memory leakage: _perlio, PerlIO_known_layers, PerlIO_def_layerlist
http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2001-08/msg00290.html
    - What to do with files at interpreter exit?  close/flush?
http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2001-07/msg01296.html
    - Multibyte characters get split at buffer limits
http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2001-07/msg00974.html
    - fileno and duping problems with scalar-based filehandles
http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2001-10/msg00314.html
   
    Arthur needs to integrate threads::shared :-)

    Someone needs to update perlthrtut for the new threads module.
    Dan and Jon have given their respective permissions to slice
    and dice the perlothrtut material as appropriate.  Related to
    this, Dan would like to see the Thread.pm becoming a smart
    wrapper that would Do The Right Thing depending on the underlying
    thread implementation, be it ithreads or the 5.005 threads.

(2) MakeMaker's PASTHRU of INC (among other things)

    Previously MM didn't pass through INC, DEFINE, etc., to recursive makes.
    Now it does as Alan (and others) supplied enough reasons for doing so.
    The problem is that this breaks Tk and NI-S is unhappy.
    Makemaker hacking needed to find a solution that keeps all happy.

(3) Attributes are somewhat broken as Arthur demonstrated.

http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2001-10/msg00051.html

    Damian, Arthur, and Abhijit are on this.
    Spider, who architected the attribute implementation,
    seems unfortunately have fallen off the map.

(4) Unicode

    Even though Perl 5.8.0 will have a reasonably robust Unicode
    support it still does not even meet the "Level 1 - Basic Unicode
    Support" as defined by the Unicode standard, TR #18, "Unicode
    Regular Expression Guidelines", available online at
    http://www.unicode.org/unicode/reports/tr18/

    What we are missing (as per my reading, I would appreciate
    other people trawling the TR #18, too):

        2.3 Subtraction                         - MISSING       [5][6]
        2.5 Simple Loose Matches                - MISSING       [8]
        2.6 End of Line                         - MISSING       [9][10]

        [ 5] have negation
        [ 6] can use look-ahead to emulate subtracion
        [ 8] see UTR#21 Case Mappings
        [ 9] see UTR#13 Unicode Newline Guidelines
        [10] should do ^ and $ also on \x{2028} and \x{2029}

    The above list comes from any recent perlunicode.pod.  "Subtraction"
    refers to character class subtraction.  "Simple Loose Matches" refers
    to the fine points of upper/lower/titlecasing, and here especially
    as regards to matching-- currently we do handle the basic casing
    as specified by the UnicodeData (lib/unicore/Unicode.txt), but not
    the fine print of SpecialCasing (lib/unicore/SpecCase.txt).  "End
    of Line" refers to few additional characters than just \n and \r
    that should be meaningful in deciding what consitute a line.

    Jeff & Jeff (Friedl and Pinyan) were working on the character class
    arithmetics but were overcome by the Unicode part of it.  IIRC Larry's
    opinion on the syntax was to use [[foo]&&[^bar]] for subtraction, and
    [[foo]&&[bar]] for intersection, not the syntax proposed in the TR #18.

    I think I have measurably better chance than a snowball in hell
    in fixing the casing dilemma.

    The end of line issue should be a walk in the park for someone
    who knows their way around the parser, right?

    As a pure maintenance task I want to rewrite lib/unicore/mktables.PL
    (the script that generates the lib/unicore/**/*.pl), the mktables
    has grown to be a horrible fetid mess, mostly thanks to the undersigned.
    As a part of this de-Stygianery I will also allow spelling out
    the character properties (like \p{IsLu}) in full
    (like \p{UppercaseLetter}).

(5) The whole FAQ needs to be updated section by section
    to check that there is no obsolete material.  Updating
    is the primary goal; please abstain from "style updates"
    of code since that seems to be a contentious issue; we have
    better things to spend our time on than to bicker about indentation.

(6) No new modules for 5.8.0

    EXCEPT threads::shared (sidekick of threads) and *possibly*
    something from Damian related to the attribute handlers.

    I have Plans for 5.8.1, though, of including at least Want
    and Inline::Files, maybe Regexp::Common.  No, they are not
    going in to 5.8.0: at some point I simply must stop adding more
    stuff and I think that point has come and gone.  Text::Autoformat
    and Text::Reform, to replace the venerable formats in functionality,
    maybe?  Inline or Parse::RecDescent, to mention two popular
    candidates?  No: their authors don't want to.

    XML?  DOM?  SAX?  LWP?  XML-RPC?  SOAP?  WDSL?  UDDI?  Web Services?
    Hype Trend of the Month?  Thanks but not thanks.  These are not
    the kind of packages that should come with the core distribution,
    I think they are too big, too much still in flux, too much
    hype in the air to see clearly what do we need.  To let you
    in to my dirty little secret: all the above are pretty
    much what I do in my Real Day Job-- and I wouldn't want
    Perl to come with any of those.  That being said, *if*
    there were a simple pure-Perl regex-driven XML parser *and*
    there were a simple pure-Perl XML-RPC client using that parser,
    when the 5.8.1 comes, you can try convincing me.

Summary: (1) and (2) are showstoppers.  They must be fixed.  The (3)
is a nuisance and while serious is not serious enough to delay 5.8.0--
but of course, fixing would be Really Nice.  The (4), while a personal
disappointment (Unicode was my #1 enemy, so to speak), is not
a showstopper, I can release 5.8.0 without it getting done.  (5) is
a documentation update issue.  (6) is just my policy statement and
some muttering about the future.

-- 
$jhi++; # http://www.iki.fi/jhi/
        # There is this special biologist word we use for 'stable'.
        # It is 'dead'. -- Jack Cohen



----- End forwarded message -----

-- 

Michael G. Schwern   <[EMAIL PROTECTED]>    http://www.pobox.com/~schwern/
Perl6 Quality Assurance     <[EMAIL PROTECTED]>       Kwalitee Is Job One
You're smoother than a tunnel of shining sorrow.

Reply via email to