Ann Barcomb
Sat, 31 Mar 2007 16:13:40 -0800
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/>