This week on the Perl 6 mailing lists

    "developers shouldn't live in fear of $^O"

    -- Jerry Gay, in 'Use of English pragma <http://xrl.us/vrqq>'


 Language

  Second Perl 6 Microgrant - Phil Crow on Java to Perl 6 declaration
  converter <http://xrl.us/vrpc>

    Leon Brocard announced that the second Perl 6 microgrant had been
    awarded to Phil Crow for his proposal to convert Java declarations to
    Perl 6. More information about his proposal can be found in the grant
    application text.

    Details about the microgrant application procedure
    <http://xrl.us/vtgf> are available for those interested in submitting
    a proposal.

  [S03] typo <http://xrl.us/vrpe>

    Jonathan Lang submitted a patch which corrects a typo in S03.

  [S03] Range Semantics <http://xrl.us/vrpf>

    Jonathan Lang suggested a change to S03 which was inspired by the new
    array indexing syntax from S09. This would make Ranges in an array
    index a natural outgrowth of the standard Range semantics.

  [S03] Negation metaoperator <http://xrl.us/vrpg>

    Jonathan Lang had a proposal to generalize the negated relational
    operators to apply to any infix operator which returns a boolean.
    Larry Wall rejected the suggestion because the relationals Jonathan
    named are typed to return Any, not Bool.

 Parrot Porters

  [perl #39934] [PATCH] Make disassemble useful. <http://xrl.us/vrph>

    Kevin Tew created ticket [perl #39934] <http://xrl.us/vtqj> with a
    patch and requested feedback...back in July of 2006. Paul Cochrane
    applied it as r17922 on April 1st.

  [perl #41774] [BUG]: Failures in 5 tests during 'make test'; partially
  patched <http://xrl.us/vrpj>

    James Keenan created ticket [perl #41774] <http://xrl.us/vtqk> to
    report errors on 5 different tests. Later he closed the ticket because
    the failing tests were identified as part of ongoing work and the
    tests were no longer failing.

  [perl #41860] [CAGE] Run Parrot under Coverity Prevent
  <http://xrl.us/vrpk>

    Paul Cochrane wanted to get Coverity to run Prevent on Parrot. This
    was ticket [perl #41860] <http://xrl.us/vk9z>.

    More recently, Paul reported that he'd received a reply stating that
    Parrot could certainly be added, but that no date estimate was
    available at the moment.

  Syntax for Constructing new Objects (and classes?) <http://xrl.us/vror>

    This thread began with Klaas-Jan Stol asking about the syntax for
    constructing new objects because he thought that it was going to be
    changed. Allison Randal replied with examples of the two proposals for
    the new syntax.

    This led Alek Storm to ask if `new()` would be a vtable method or a
    PCCMETHOD. Jonathan Worthington confirmed that it is a PCCMETHOD.
    Allison elaborated that it is a class method.

    More recently, Alek replied that he thought that `new` should be kept
    an opcode, and `new()` should be a vtable method which is called from
    inside the `new` opcode. Jonathan Worthington was confused by Alek's
    proposal. He suggested making BaseClass implement all the vtable
    variants of a method, and Class can inherit from it and provide a sane
    interface. Alek thought that Jonathan's suggestion was similar to one
    he had made in [perl #41619] <http://xrl.us/vev4> but that Jonathan's
    explanation was superior. Allison also added her thoughts to this
    subthread.

    In the main thread, Jonathan proposed deprecating the old syntax in
    the next release and removing support for it in the following release.
    Allison agreed to marking it as deprecated now. Joshua Isom wanted the
    dot syntax to still work so that tests wouldn't need to be rewritten.
    Allison explained that there were several reasons to remove constants
    for types and the class registry.

  compilers/pirc continued... <http://xrl.us/vrpm>

    Klaas-Jan Stol added a vtable to the parser in `compilers/pirc`. He
    proposed looking at the bcg project to see if it would fit in with
    `compilers/pirc`. Allison Randal thought it was worth exploring.

  [svn:parrot-pdd] r17907 - trunk/docs/pdds/draft <http://xrl.us/vrpn>

    A commit by Allison Randal integrated some questions and comments into
    the Objects PDD. Jonathan Worthington had a few comments, such as
    noting that `resolve` is sugar rather than something new, and that
    comments about offsets should go away. Allison noted that `resolve` is
    the preferred way of dealing with conflict resolution, and removed
    references to offsets.

  [perl #42261] Extensive failures in t/compilers/imcc/imcpasm/*.t and
  t/pmc/sub.t <http://xrl.us/vrpo>

    James Keenan posted some failures in `make test` in ticket [perl
    #42261] <http://xrl.us/vtqm>. Paul Cochrane reported that he was
    unable to replicate the failures with r17914 and asked James to check
    his revision. James looked into it further and concluded that the name
    of the sandbox was affecting the test results. He wondered if anyone
    could explain why that was happening.

  [svn:parrot-pdd] r17921 - trunk/docs/pdds <http://xrl.us/vrps>

    A commit by Paul Cochrane noted that Perl code with `__END__` or
    `__DATA__` blocks should not get an emacs or vim coda. Shawn M Moore
    suggested putting the coda at the top of the file, but Paul explained
    that this had been attempted but proved to be a poor solution for
    several reasons.

  [perl #42267] [CAGE] Work out how to encourage good editor-independent
  formatting habits <http://xrl.us/vrpt>

    Paul Cochrane created ticket [perl #42267] <http://xrl.us/vtqn> with
    the mission "Figure out how to encourage good formatting habits,
    without assuming that everyone uses emacs or vim, and with minimal
    clutter in our source code. Also write a coding standards test to
    codify this."

  [perl #39878] [CAGE] generated files with timezoneless times
  <http://xrl.us/vrpu>

    In ticket [perl #39878] <http://xrl.us/vtqo>, Will Coleda wanted tools
    which insert messages into generated files to include a timezone
    (which should always be UTC). Paul Cochrane said that generated files
    are checked for timestamps in `codingstd/gmt_utc.t` and that
    `config/init/defaults.pm` was updated in r17923 to pass the test.

  [perl #40861] [CAGE] - add a Perl::Critic policy to look for
  FIXME|TODO|XXX <http://xrl.us/vrpv>

    In ticket [perl #40861] <http://xrl.us/tc8k>, Paul Cochrane suggested
    adding a check for 'FIXME'/'TODO'/etc for the Perl source files, as
    there is currently only a check for the C files. This was done in
    r17925.

    Chris Dolan suggested using an existing Perl::Critic policy. Will
    Coleda asked if Andy Lester would accept a patch which would
    optionally permit 'TODO' comments which included ticket numbers and
    reject those which don't include ticket numbers? Andy replied that he
    didn't want to build exceptions, and proposed that people just write
    'RT #12345' instead of 'TODO (#12345)'. Paul Cochrane agreed with this
    suggestion.

  Link'n'Load on Windows <http://xrl.us/vrpw>

    Ron Blaschke reported that he was looking into errors in linking and
    loading on Windows. With linking, there were some symbols which
    weren't exported. He planned to provide a patch to export them.

    To solve the loading issue, he wanted to change several files to
    include the full path.

  Current State of Building Parrot on Cygwin <http://xrl.us/vrpx>

    Ron Blaschke reminded the list that it is necessary to include the
    absolute path to `blib/lib` in the PATH environment variable to build
    on Cygwin. He also explained that some problems could be due to a file
    having Windows line endings.

    Eric Hanchrow wondered if it was possible to make Parrot less fussy
    about the line endings. Ron wanted to see that happen, but explained
    that his suggestions were workarounds until the problem was resolved.
    Steve Peters said he would be looking at how to improve the process.

    Ron described his thoughts in more detail in 'Link'n'Load on Windows
    <http://xrl.us/vrpw>.' chromatic asked if it was possible to pass
    flags to the linker to hint at the path, which is how the Linux
    version works. Ron thought that was handy, but hadn't seen something
    similar for Windows.

  [perl #42270] [PATCH]: Configure.pl: refactor options processing
  functionality <http://xrl.us/vrpz>

    In ticket [perl #42270] <http://xrl.us/vtqp>, James Keenan posted a
    patch which removes command-line option processing from `Configure.pl`
    and puts it in a library. This was done to make testing easier. The
    patch was applied as r17983 and 17984.

  [perl #42271] [PATCH] Borland C++ cleanups <http://xrl.us/vrp2>

    In ticket [perl #42271] <http://xrl.us/vtqq>, Steve Peters submitted a
    patch which cleans up Parrot for Borland C++ on Windows. This patch
    does not completely solve compilation issues because it seems to
    create new issues on Linux. chromatic applied it as r18134.

  Hash iteration question <http://xrl.us/vrp3>

    Jonathan Worthington showed two examples of iterating through a hash,
    and noted that in his first example you will only get the first key in
    the hash. He believes that the hash and iterator code are closely tied
    and isn't thread safe.

    Allison Randal replied that the significant differences are down to
    the iterator's `shift_pmc` throwing an exception if the key is -1,
    while `shift_string` doesn't check. She agreed that the code was
    excessively mixed and needed review. Leopold Toetsch added a further
    explanation on the implementation.

  PDD15: newclass <http://xrl.us/vrp4>

    Jonathan Worthington had a comment on PDD 15 and how it described the
    creation of a new class. He wondered about the implementation. Allison
    Randal replied that the `newclass` opcode will be a simple opcode.
    Jonathan implemented what Allison described and created a test for it
    as well.

  [perl #42072] [BUG]: pmc2c.pl: Does anyone (know how to) use the
  'no-body' option? <http://xrl.us/vrp9>

    In ticket [perl #42072] <http://xrl.us/vtge>, James Keenan noted that
    nobody had spoken up in favor of retaining the `no-body` option. He
    said that he would take the ticket and assign the revisions to
    participants of the Perl Seminar Phalanx Phoneix project in NY.

  [perl #42279] [PATCH] Parrot cleanups - part 2 <http://xrl.us/vrqa>

    Steve Peters submitted a patch in ticket [perl #42279]
    <http://xrl.us/vtqr> which had some cleanups to make Parrot work
    better with different C compilers. It was applied as r17952.

  Paper on Software Patterns in Parrot <http://xrl.us/vrqb>

    Klaas-Jan Stol mentioned that he had recently taken a course on
    software patterns and co-authored a paper on patterns in Parrot, which
    he put on the wiki <http://xrl.us/vtqs>.

  [perl #42286] [CAGE]: Parrot::Pmc2c::PCCMETHOD constants should be
  autogenerated <http://xrl.us/vrqc>

    Jerry Gay noted that `lib/Parrot/Pmc2c/PCCMETHOD.pm` contains a number
    of constants, which should be generated during the configure process
    and included. Ticket [perl #42286] <http://xrl.us/vtqt> discusses this
    request.

  [perl #42287] [TODO] MMD needs to be in a PDD <http://xrl.us/vrqd>

    Jonathan Worthington wanted multi-method dispatch to be documented in
    one of the PDDs or get its own PDD. The request was made in ticket
    [perl #42287] <http://xrl.us/vtqu>.

  [perl #42292] [TODO] modify PCCMETHOD syntax to more closely match PDD03
  <http://xrl.us/vrqe>

    In ticket [perl #42292] <http://xrl.us/vtqv>, Jerry Gay requested that
    the PCCMETHOD syntax be modified to put it in line with PDD 03.
    chromatic offered a patch.

  [svn ci] NCI methods now name-mangled <http://xrl.us/vrqf>

    Jonathan Worthington explained that he was starting to move class
    functionality into vtable methods, but ran into the issue that you
    cannot have a METHOD or PCCMETHOD with the same name as a vtable
    method. This is, however, required to implement the interface
    specified in PDD 15. He made some changes to get Parrot working again,
    which affected the Complex PMC.

    Fran??ois PERRAD reported that this change breaks Lua. Allison Randal
    observed the same thing, and asked Jonathan to either fix the problem
    for Lua or revert the change from the trunk. Jonathan apologized for
    breaking things and said that it was fixed in r17982.

    Leopold Toetsch suggested that perhaps language maintainers who are
    using "features" of Parrot could submit core tests for these features,
    so that this type of problem won't occur in the future. Joshua Isom
    thought this could be expanded to anyone using Parrot where a
    "feature" isn't tested. He proposed an open repository for tests.
    chromatic wondered if it was that difficult to mail in patches. Joshua
    offered some arguments in favor of it. chromatic

  parrotcode updates. <http://xrl.us/vrqg>

    Will Coleda solicited for suggestions concerning parrotcode.org
    because the current system requires that he do quite a bit of work
    every time that directories are moved or files are added. He proposed
    having a directory on the site which is a checked in version of the
    `docs/html` directory after a `make html`. He also suggested having
    docs for the latest release as well as for the 'svn head'.

  [perl #42293] t/doc/pod.t vs. tools/doc/pod_errors.pl
  <http://xrl.us/vrqh>

    In ticket [perl #42293] <http://xrl.us/vtqw>, Will Coleda suggested
    removing the script `tools/doc/pod_errors.pl` because the
    functionality is already replicated in `t/doc/pod.t`. Also, the script
    finds errors which the test does not, which requires investigation.

    Joshua Isom reported that he got a segmentation fault when he tried to
    run the script. When he persisted with running it, he found that it
    appeared to have a stricter POD checker. Jerry Gay thought that
    perhaps the script and the test were checking different files.

    Paul Cochrane found that on Gentoo the `t/codingstd/c_indent.t` test
    caused Perl to segfault, but with a new Perl compilation it worked. He
    was curious because he wondered if the error was due to Gentoo Perl.
    Joshua replied that he was using Darwin.

    Paul also remarked that the script reported where the errors were in
    the file, which the test didn't do. Jerry Gay and Nicholas Clark
    commented on this.

  [Fwd: YAPC::Europe Call for Hackathons] <http://xrl.us/vrqj>

    James E Keenan reposted a call for hackathons which was published for
    YAPC::Europe 2007. He felt that the Chicago Hackathon had been good
    for Parrot, and hoped that someone would lead a related Hackathon at
    Y::E. More information about the offer can be found on the Y::E
    website <http://xrl.us/vtqx>.

  Re: [perl #42299] AutoReply: $P symbolic register allocation bug
  <http://xrl.us/vrqk>

    Yehoshua Sapir remarked that the code in [perl #42299]
    <http://xrl.us/vtqy> worked on OS X.

  [perl #42300] [PATCH] t/pmc/sub.t: test for creation of lex by clone op
  <http://xrl.us/vrqm>

    Yehoshua Sapir submitted ticket [perl #42300] <http://xrl.us/vtqz>
    which contains a patch to test the creation of lex by the clone op.

  [perl #42305] [PATCH]: Configure.pl: Move STDOUT messages to
  Parrot::Configure::Messages <http://xrl.us/vrqo>

    James Keenan created ticket [perl #42305] <http://xrl.us/vtq2> to
    submit a patch which makes `lib/Parrot/Configure/Messages.pm` output
    messages to STDOUT (previously this was done by `Configure.pl`). This
    will make testing easier. It was applied as r18027.

  [svn:parrot-pdd] r17987 - in trunk: . docs/pdds docs/pdds/draft
  <http://xrl.us/vrqp>

    Allison Randal made a commit which moved PDD 15 (objects) out of the
    draft directory.

  Use of English pragma <http://xrl.us/vrqq>

    James E Keenan noted that `Configure.pl` uses one of the English
    variables, namely `$OUTPUT_AUTOFLUSH`. He wondered if there was a
    policy regarding the use of the named variables instead of their short
    versions. Jerry Gay felt that it was wrong to use the English
    variables.

    James said he would convert the variable while refactoring. He created
    ticket [perl #42333] <http://xrl.us/vtq3> to remind him of this task.
    Later this was done and applied as r18033.

  [svn ci] PMC documentation guidelines draft <http://xrl.us/vrqr>

    Jerry Gay remarked that he had committed a draft of PMC documentation
    guidelines in r17998. The document is meant to explain the style of
    documentation which should be used for core PMCs. Klaas-Jan Stol had
    some additions, borrowed from 'Perl Best Practices'. Joshua Isom
    questioned Klaas-Jan on some of the points, and Klaas-Jan elaborated.

  [perl #42312] src/pmc/os.pmc: bad use of stat(2) and lstat(2)
  <http://xrl.us/vrqs>

    In ticket [perl #42312] <http://xrl.us/vtq4>, the output of
    `t/pmc/os.t` which fails on Solaris 10 was attached.

  [perl #42313] improper casting to void * in src/dynext.c
  <http://xrl.us/vrqt>

    Ticket [perl #42313] <http://xrl.us/vtq5> contained a small patch to
    change `load_func` from a void pointer to NULL. Leopold Toetsch
    explained that the cast was being used. Nicholas Clark answered that
    the casting isn't allowed under strict ANSI C, but that he preferred
    assigning a plain 0 rather than a NULL.

  [perl #42320] [BUG] Memory leak with String pmc <http://xrl.us/vrqu>

    Mehmet Yavuz Selim Soyturk reported a memory leak in some example
    code. This was mentioned in ticket [perl #42320] <http://xrl.us/vtq6>.

  vtable cleanup and questions <http://xrl.us/vrqv>

    Jonathan Worthington reported that he is adding the new vtable entries
    required for PDD 15. He wanted to know if `become_parent` could be
    removed, or if it needed a standard deprecation cycle. He also noted
    that the subclass vtable method needed to be removed, but that it was
    in use by ParrotClass and ParrotObject.

    Jonathan also noticed `PMC* new_singleton()` and `PMC*
    get_anonymous_subclass()`, which don't appear to be used. He wondered
    if they should be removed. Finally, he wanted to know if `get_attr`
    and `set_attr` should be deprecated.

    Nicholas Clark confirmed that `become_parent` isn't used anywhere.
    Will Coleda voted for a standard deprecation cycle. Allison Randal
    confirmed this.

    She also agreed that the subclass vtable method won't be needed in the
    future, and that `get_attr` and `set_attr` could be deprecated when
    the full change to PDD 15 is complete. `new_singleton()` and
    `get_anonymous_subclass()` were described as "a case of being overly
    prepared for possible future needs."

  Minor notes/suggestions on PDD15 <http://xrl.us/vrqx>

    Klaas-Jan Stol had some suggestions for PDD 15. He had some
    suggestions for improving consistency. Additional comments were on
    opportunities for syntactic sugar and a proposal that operators such
    as `find_method` have the option of throwing an exception rather than
    returning a NULL PMC on failure. Allison Randal remarked that the
    exception question was under consideration in I/O as well, and that
    the consistency issue would be considered when she looked at the
    Opcodes PDD. Joshua Isom had a few suggestions as well.

 Acknowledgements

    This summary was prepared using Mail::Summary::Tools
    <http://xrl.us/qvno>, available on CPAN.

    If you appreciate Perl, consider contributing to the Perl Foundation
    <http://donate.perlfoundation.org> to help support the development of
    Perl.

    Thank you to everyone who has pointed out mistakes and offered
    suggestions for improving this series. Comments on this summary can be
    sent to Ann Barcomb, <[EMAIL PROTECTED]>.

 Distribution

    This summary can be found in the following places:

    * use.perl.org <http://use.perl.org/>
    * The Pugs blog <http://pugs.blogs.com/>
    * The perl6-announce mailing list <http://xrl.us/qycj>
    * ONLamp <http://www.oreillynet.com/onlamp/blog/>

 See Also

    * Perl Foundation activities <http://blog.perlfoundation.org>
    * Perl 6 Development <http://dev.perl.org/perl6>
    * Planet Perl Six <http://planetsix.perlfoundation.org/>

Reply via email to