Weekly Perl 6 mailing list summary for 4-10 March, 2007

[email protected] (Ann Barcomb) Sat, 31 Mar 2007 16:03:23 +0200 (CEST)
Newsgroups perl.perl6.announce
Message-ID <[email protected]>
Weekly Perl 6 mailing list summary

  This week on the Perl 6 mailing lists

     "Q: Can February March? A: No, but April May..."

     -- Larry Wall's r14313 log message for a date correction


  Language

   [svn:perl6-synopsis] r14308 - doc/trunk/design/syn <http://xrl.us/u6ij>

     David Green asked if the reason behind Larry Wall's decision not to
     have ranges automatically go in either direction is to prevent subtle
     bugs from creeping in. Nevertheless, he thought it would be useful to
     have a way to travel in the 'natural' direction, whichever direction
     that might be.

   for ... else <http://xrl.us/vjg9>

     Thomas Wittek recently encountered the Perl 5 module For::Else, which
     allows `if (@lar) { foreach my $moose (@lar) { ... } } else { ...}` to
     be written as `foreach my $moose (@lar) { ... } else { ... }`. He
     wondered if something similar could be added to Perl 6. Rick Delaney
     found the current syntax awkward, but wasn't certain that Thomas'
     solution was ideal, and Paul Seamons was of the same mind. Jonathan
     Lang liked the idea.

     Steve Lukas was against the suggestion because he felt that idea
     contradicted the common meaning of `else` and would discourage people
     who are used to other languages.

     Luke Palmer noted that it would confuse Python programmers, as the
     Python construct assumes that you are looping in order to find
     something. Larry Wall suggested using a `gather` to achieve this
     effect.

     The discussion continued, for a total of 29 messages.

   statement modifiers <http://xrl.us/vjha>

     Jonathan Lang noted that S02, S03, and S04 contain references to the
     deprecated concept `statement_modifier`. Larry Wall was aware of the
     problem, but was waiting for a few things to settle down before he
     corrected them.

     Jonathan also asked why statement modifiers are explicitly forbidden
     to 'do' blocks, and if `given` is considered conditional or looping
     when it is used as a statement modifier. Larry replied that the ruling
     discourages people from violating the endweight principle. In answer
     to the second question, he said that `given` is considered to be a
     loop, and `when` is a conditional.

   Compound grammar <http://xrl.us/vjhb>

     Jonathan Lang wondered how to define a statement or operator with
     syntax like `if ... else ...` or `... ?? ... :: ...`. Larry Wall
     suggested reading the grammar POD <http://xrl.us/vjhc>.

   resumable exceptions and LEAVE/KEEP/UNDO blocks <http://xrl.us/vjhd>

     Daniel Hulme wanted to know what happens if a resumable exception is
     propagated through a block with a `LEAVE`, `KEEP` or `UNDO` block.
     Larry Wall thought that perhaps Daniel had missed part of the
     documentation which describes how a `CATCH` block works, and quoted
     the relevant section. Daniel agreed that he had overlooked it.

   Coercion of non-numerics to numbers <http://xrl.us/vjhe>

     Dave Whipp was curious about the semantics of coercion of non-numbers.
     In his experiments, he wondered if it was correct for a `x42` to
     become `0.0` instead of `NaN`. Larry Wall felt that it should create a
     warning.

   new Parrot project manager <http://xrl.us/vjhf>

     Allison Randal announced that the Parrot project manager role will now
     be distinct from the Perl 6 project manager role. Will Coleda will be
     responsible for Parrot, and Jesse Vincent will continue as the project
     manager for Perl 6. Meanwhile, Chip Salzenberg is officially on
     sabbatical for a while.

   [svn:perl6-synopsis] r14317 - doc/trunk/design/syn <http://xrl.us/vjhg>

     A commit from Larry Wall made module longnames specified in terms of
     identification plus adverbs.

     Smylers questioned the decision to put a range operator in parenthesis
     to match more than one version number. He thought it would be better
     to specify a minimum version and assume that later versions will also
     have the feature or bug fix, because otherwise systems may break due
     from new library installations. Larry explained that this would not be
     a problem because Perl 6 would keep old versions of modules in the
     library unless the new versions claim to emulate the old version.

     David Green asked how this emulation would be expressed. He also
     wanted to know what would happen if you were installing for the first
     time: would you get all versions of the module? Larry replied that the
     emulation syntax was not yet specified.

   [svn:perl6-synopsis] r14319 - doc/trunk/design/syn <http://xrl.us/vjhh>

     In this revision, Larry Wall defined the library version sorting
     order. Geoffrey Broadwell suggested using the versioning system of
     Debian to test, because it has an unusual design.

  Parrot Porters

   Re: [perl #41195] [BUG]: Change to Configure.pl causing 'make' to fail
   on Darwin <http://xrl.us/vjhi>

     Some time ago, in ticket [perl #41195] <http://xrl.us/vjhj>, James
     Keenan produced a bug report. Will Coleda reported that he was unable
     to see the bug, and asked if reverting `Configure.pl` fixed the
     problem. James reported that with r17419, there were still some
     problems. Will remarked that he had reverted the order of the steps in
     `Configure.pl` to fix the problem.

   [perl #41364] [PATCH] Fixed object vtable method overrides in PIR
   <http://xrl.us/u6hs>

     Earlier, in ticket [perl #41364] <http://xrl.us/u3h4>, Patrick R.
     Michaud noted that the double-underscore method of overriding vtable
     methods cannot be deprecated until ticket [perl #40626]
     <http://xrl.us/s5rj> is resolved. Allison approved of the patch by
     Alek Storm and requested a regression test. She included a rough
     version.

     Alek wondered if it could be committed now that 0.4.9 has been
     released. Jonathan Worthington noted some problems he had had with
     applying it.

     This week, Jonathan Worthington made a few changes and committed it as
     r17514.

   [perl #41455] [NEW] and [PATCH]: tools/build/ops2pm.pl refactored
   <http://xrl.us/u6hr>

     In ticket [perl #41455] <http://xrl.us/u6uv>, in February, James
     Keenan attached some new patches and files. Recently he decided to
     pull the patch from submission because some other changes have broken
     them.

   [perl #41548] [Tcl] - internals tests failings <http://xrl.us/vjhk>

     Earlier, Will Coleda created ticket [perl #41548] <http://xrl.us/u6uj>
     to report failing tests. Nuno Carvalho tested with r17365 and marked
     the ticket as closed because the issue appeared to be solved.

   [perl #41583] Tail calls from within vtable methods broken
   <http://xrl.us/u25e>

     In ticket [perl #41583] <http://xrl.us/u6ut>, Bram Geron reported a
     problem with tail calls in v-table methods. Recently, Alek Storm
     remarked that he had nearly completed a patch to fix it. Jonathan
     Worthington described the issue in more detail.

   [perl #41602] [TODO] MS VS 2005 deprecates strdup <http://xrl.us/vdmf>

     In ticket [perl #41602] <http://xrl.us/vjhm>, Klaas-Jan Stol submitted
     a patch which fixes the problem of `strdup` being deprecated in
     Microsoft Visual Studio 2005. It was applied as of r17281.

     Klaas-Jan also wondered if `strdup` should be used because of possible
     memory issues. Jonathan Worthington clarified that it was not a
     problem.

     There was some further discussion about the best solution for the
     original problem, with Kevin Tew, Philip Taylor and Jerry Gay adding
     their thoughts.

   [PATCH]: tools for using Subversion branches; ops2c.pl refactored
   <http://xrl.us/vjhn>

     James Keenan submitted a patch which includes a refactoring of
     `tools/build/ops2c.pl` and files which argue for using more subversion
     branches. Sam Vilain wondered why the two changes were linked together
     and felt that the tracking method for branches didn't follow the best
     practices which have emerged through use.

     James said that he had submitted the patches as one because he has
     been ill recently and wanted to complete the task quickly. He went
     into more detail about his reasons behind the subversion suggestions.
     Sam agreed with the goal of trying to get people to develop more in
     branches, but still disagreed with James. chromatic felt that
     experiments--such as James' ideas--are okay, because if they fail
     people will still learn something from it.

     Later the patches were pulled from submission because some other
     changes in code meant that they were no longer passing tests.

   AIX 5.3 <http://xrl.us/vjho>

     Theodore Katseres reported success with building Parrot on AIX with
     GCC 4.0.0. Jerry Gay wanted to know if the test could be run more
     frequently, and reported in the smoke results.

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

     A commit from Jonathan Worthington described the new class and object
     layout for objects. Subsequent commits from Allison Randal modified
     the document.

   Parrot won't build on cygwin <http://xrl.us/vjhq>

     Klaas-Jan Stol reported a problem with compiling Parrot on Cygwin.

   [perl #41693] [PATCH] STM article reference corrected
   <http://xrl.us/vjhr>

     Elizabeth Mattijsen pointed out a broken link and submitted a patch to
     correct it in [perl #41693] <http://xrl.us/vjhs>. It was committed.

   Re: [perl #41695] [CAGE]: Refactor Parrot::Distribution
   <http://xrl.us/vjht>

     James Keenan created ticket [perl #41695] <http://xrl.us/vjhu> to log
     efforts to re-factor Parrot::Distribution. He included his notes from
     previous discussions on the topic.

   [perl #41704] [BUG]: Test failures: t/pmc/object-mro.t t/pmc/timer.t
   <http://xrl.us/vjhv>

     In ticket [perl #41704] <http://xrl.us/vjhw>, James Keenan reported
     test failures with `make test`.

   [perl #41707] [TODO] Tcl - relocate stub files <http://xrl.us/vjhx>

     In ticket [perl #41707] <http://xrl.us/vjhy>, Will Coleda described a
     task of moving some Tcl code to a new location. Nuno Carvalho made the
     changes in r17354.

   [perl #41712] [TODO] deprecate CSub <http://xrl.us/vjhz>

     Jerry Gay wanted `CSub` deprecated before the 0.4.10 release. Allison
     Randal agreed. This was handled in ticket [perl #41712]
     <http://xrl.us/vjh2>.

   [perl #41713] [PATCH] Updates for lang/PIR <http://xrl.us/vjh3>

     In ticket [perl #41713] <http://xrl.us/vjh4>, Klaas-Jan Stol attached
     a patch for `lang/PIR` which cleaned up the layout, changed some rules
     to tokens, added tests, and added rules.

   [perl #41724] [BUG] miniparrot fails to build on strawberry perl
   <http://xrl.us/vjh5>

     Jerry Gay reported a platform-specific issue with miniparrot in ticket
     [perl #41724] <http://xrl.us/vjh6>. Aldo Calpini tried it but got
     different warnings. chromatic replied that the configuration process
     assumes a tight connection between the operating system and compiler.

   [perl #41726] [PATCH] make lua fail more gracefully with an exception
   handler <http://xrl.us/vjh7>

     Julian Fondren submitted a patch in ticket [perl #41726]
     <http://xrl.us/vjh8>. The patch makes Lua generate `.pir` files which
     push an exception handler before evaluating code.

   [perl #41732] [BUG] parrot objects segfault on improper invoke override
   <http://xrl.us/vjh9>

     In ticket [perl #41732] <http://xrl.us/vjia>, Will Coleda reported a
     segmentation fault when invoke is improperly overridden.

   Re: [perl #41733] invoke :vtable - execution stops <http://xrl.us/vjib>

     Richard reported a problem with the latest Parrot. He included some
     code demonstrating the issue in ticket [perl #41733]
     <http://xrl.us/vjic>. Alek Storm pointed out that the invoke vtable
     method is meant to take one argument. He showed some example text.

     Matt Diephouse saw a problem with Alek's approach and suggested an
     alternative. chromatic agreed with Matt, but then Matt came up with
     another solution, which was applied in r17385.

   [perl #41738] languages/APL is broken <http://xrl.us/vjid>

     Bernhard Schmalhofer used ticket [perl #41738] <http://xrl.us/vjie> to
     report that `languages/APL` fails smoke tests on all platforms. He
     suspected it hadn't been updated to the HLL refactoring in r16974.

   [perl #41739] [PATCH]: add "clone" method for iterators
   <http://xrl.us/vjif>

     Eric Hanchrow submitted a patch in [perl #41739] <http://xrl.us/vjih>
     which added a `clone` method for iterators. It was applied in r17411.

   Parrot 0.4.10 (Coming Soon) <http://xrl.us/vjii>

     Will Coleda created a placeholder ticket [perl #41581]
     <http://xrl.us/vjij> to mark the upcoming release of Parrot 0.4.10,
     expected in less than two weeks.

   [perl #41743] [PATCH] Make all but (perl5|pugs|t) have a MAINTAINER
   <http://xrl.us/vjik>

     In ticket [perl #41743] <http://xrl.us/vjim>, Julian Fondren submitted
     a patch which added `MAINTAINER` files for parts of the languages tree
     which didn't have them.

   PIR Tutorial <http://xrl.us/vjin>

     Klaas-Jan Stol remarked that he had started a PIR tutorial on the
     wiki, and invited people to help. Julian Fondren suggested several
     topics which hadn't yet been addressed. James E Keenan also offered a
     suggestion.

   [perl #41746] [BUG] pdump doesn't build. <http://xrl.us/vjio>

     Will Coleda reported a bug with `pdump` in ticket [perl #41746]
     <http://xrl.us/vjip>.

   C pmclass - parrot object inheritance, interaction
   vtables/methods/object identities <http://xrl.us/vjiq>

     Mehmet Yavuz Selim Soyturk is implementing ECMAscript and ran into
     problems. The question was if `get_pmc` is an appropriate solution for
     the problem, or if there is a better way to handle it.

   [perl #41749] [TODO] deprecate substr_r op <http://xrl.us/vdmg>

     In ticket [perl #41749] <http://xrl.us/vjir>, Jerry Gay suggested
     deprecating `substr_r`. Leopold Toetsch asked if it could remain an
     experimental operator until the string issues are resolved. Allison
     Randal said to move it to `experimental.ops` and note it in
     `DEPRECATED.pod`.

   [perl #41569] t/distro/file_metadata.t fails on win32
   <http://xrl.us/vjis>

     Ron Blaschke asked what result he could expect from
     `t/distro/file_metadata.pl` as of r17389. In ticket [perl #41569]
     <http://xrl.us/u6uo> he showed what he was seeing on a Windows system.
     Will Coleda thought that the second test should be passing as of
     r17398, and that the first two ought to pass. Ron submitted a patch to
     make the test work on Windows, which was applied in r17406.

     chromatic wondered if it would be better to use File::Spec, as the
     problem involved `/` versus ``. Ron elaborated that the problem is
     that the `MANIFEST` doesn't match the output from svn.

   [perl #25253] [PATCH] Remove Parrot_INTERP <http://xrl.us/vjit>

     In ticket [perl #25253] <http://xrl.us/vjiu>, Jerry Gay asked
     chromatic to look at removing `Parrot_INTERP`.

   [perl #41750] [PATCH] Pynie updates <http://xrl.us/vjiv>

     In ticket [perl #41750] <http://xrl.us/vjiw>, Klaas-Jan Stol submitted
     a patch for Pynie, which was applied. This patch fixed the rule for
     floating points, among other things.

   [perl #41753] [CAGE] better document and test PMETHOD and PMINVOKE
   <http://xrl.us/vjix>

     Jerry Gay wanted documentation for the C-level support for Parrot
     calling conventions which was recently added. He made this remark in
     ticket [perl #41753] <http://xrl.us/vjiy>.

   Glossary is missing from parrotcode.org <http://xrl.us/vjiz>

     Will Coleda created ticket [perl #41768] <http://xrl.us/vji2> to store
     Klaas-Jan Stol's comment that the glossary page should output to the
     website.

   Q: Should Op names be allowed to be identifiers. <http://xrl.us/vji3>

     Klaas-Jan Stol noted that it is permitted to use ops as names for
     variables in PIR, but if you tried to increment the resulting
     variable, it will not compile. He suggested disallowing using opnames
     in this way.

   [perl #41760] [PATCH] lang/pynie some bin.ops <http://xrl.us/vji4>

     In ticket [perl #41760] <http://xrl.us/vji5>, Klaas-Jan Stol submitted
     another Pynie patch. It was applied as r17407.

   [perl #41762] [PATCH] Languages/Pynie functions! <http://xrl.us/vji6>

     The patch in ticket [perl #41762] <http://xrl.us/vji7>, by Klaas-Jan
     Stol, implements basic function calling in Pynie.

   [perl #41763] [PATCH]: fix "clone" method for iterators
   <http://xrl.us/vji8>

     In ticket [perl #41763] <http://xrl.us/vji9>, Eric Hanchrow submitted
     a patch for iterator cloning. It was applied, with minor changes, in
     r17691.

   [PATCH 0/6] A round of updates to Test::More <http://xrl.us/vdm4>

     Sam Vilain submitted a patch to extend the `Test/More.pir` library.

  perl5-porters

   lexical subs <http://xrl.us/vjja>

     H.Merijn Brand kicked off a very large thread (53 messages in total)
     by requesting lexical subroutines. Although the message was posted to
     the Perl 5 porter's list, it involved Perl 6 and appears to have been
     cross-posted.

     Dr. Ruud was in favour of the idea, as was Paul Johnson. Tels didn't
     like having two subroutines of the same name, and suggested an
     anonymous subroutine with a variable referencing it. The concern was
     that it would be hard for a human to know which subroutine was called
     without checking the lexical scope. David Nicol also considered it
     unnecessary. Johan Vromans found it no more confusing than a lexical
     variable. Abigail agreed with Johan. Michael Schwern felt that it was
     in fact less confusing, as in his experience, Perl trainers are often
     faced with the question "how do I declare a lexical subroutine?"

     Demerphq noted that it is difficult to do a recursive subroutine with
     lexically scoped references to anonymous subroutines and avoid memory
     leaks. Aaron Crane pointed out that a subroutine with a fully-lexical
     name wouldn't be mistaken for a method.

     Mark Jason Dominus didn't care one way or the other about lexical
     subroutines, but wanted to add a number of test cases to define the
     feature if it is added. His example test case generated some
     discussion. Larry Wall invited anyone to translate the test cases to
     Perl 6 and install them in the Pugs test repository, as Pugs should
     already handle lexically scoped subroutines.

     There was some question of whether lexical subroutines exist in Perl 5
     bleed. Rafael Garcia-Suarez, Abigail, and Jan Dubois contributed
     information. It appears that they were in to the 'todo' list for
     5.6.1, but haven't been implemented. Juerd Waalboer wanted Perl 6 to
     conform to Perl 5's implementation, or vice versa.

     Meanwhile, Wolfgang Laun wondered if Perl would incorporate any sort
     of information hiding, which Rafael summed up as "a whole can of
     worms."

  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/>