The Perl 6 summary for the month of 2006-03
Summary updates
It was pointed out that I was unclear about URLs. I will be using long
(original) URLs for web editions and short URLs for mail editions.
Compiler (perl6-compiler)
make error on 9188 <http://xrl.us/o5xb>
Beau E. Cox reported a failure with Pugs r9188, which failed to make
smoke and make install. A patch was submitted.
Fwd: The "lrep" thing <http://xrl.us/o5xc>
Flavio S. Glock posted some information from #perl6 on the phases of
Perl 6 development. This included a request to coordinate development
efforts.
XML parsing in P6 <http://xrl.us/o5xd>
Premshree Pillai asked about XML parsing in Pugs. Yuval Kogman made
some recommendations.
Support for S05's new "result object"? <http://xrl.us/o5xe>
Audrey Tang asked if PGE would allow--for instance--making a lexical
symbol RETURN visible inside the interpolated block, which would set
the result object and return a match success at that position. Patrick
R. Michaud had an affirmative reply. There was also a brief discussion
on {...} {{...}} for closures in Parrot and Perl 6.
PGE internal attributes change <http://xrl.us/o5xf>
Patrick R. Michaud noted that r11916 updates PGE's internal attribute
names to match the new secondary sigils identified by S12.
PGE: return values in embedded closures <http://xrl.us/o5xg>
Patrick R. Michaud applied r11921 to PGE to allow embedded closures in
rules to designate a "return value" for a match.
Perl 6 on Solaris 10 anyone? <http://xrl.us/o5xh>
Stefan Parvu asked if there had been any experiments with Perl6/Parrot
and Solaris Express or Solaris 10. Andy Dougherty replied that he did
not think there were pre-built packages, but that most tests should
pass. There was also some clarification of the relationship between
Perl 6, Parrot and Pugs.
Parrot-Porters (parrot-porters, formerly perl6-internals)
The parrot-porters list was called perl6-internals during the period
covered by this summary.
Compiling Parrot on NetBSD <http://xrl.us/o5xi>
Steve Peters supplied a patch to support Parrot on NetBSD. Andy
Dougherty asked if the different flavours of BSD were distinct enough
to require different directories. Steve replied that NetBSD differed
from FreeBSD, but said that the directory structure should be chosen
based upon the preferences of the Parrot developers.
Later, Bernhard Schmalhofer created a ticket [perl #38670]
<http://xrl.us/o5xj> with Steve's NetBSD support patch
<http://xrl.us/o5xk>.
NCI 'v' versus '' in function parameter signatures <http://xrl.us/o5xm>
In February, Tim Bunce asked what the difference is between 'v' and ''
for NCI function parameters. Leopold Toetsch replied by suggesting that
the 'v' variants be removed. Later, Tim submitted a patch, which looked
okay to Leopold. chromatic pointed out that functions returning void
should use 'v' to avoid future confusion, and Leopold agreed.
Fix for tailcall after newcloser <http://xrl.us/o5xn>
Bob Rogers sent PIR code illustrating a problem in tailcall which
forces the old context to be recycled and included a patch.
Rare failure of t/dynoplibs/myops alarm sequence <http://xrl.us/o5xo>
Tim Bunce noted a failing alarm sequence test in t/dynoplibs/myops.t
but has not been able to duplicate it. Leopold Toetsch reported that
this could happen if the machine was busy. Tim requested a warning, and
Leopold agreed it would be appropriate.
Valgrind reports <http://xrl.us/o5xp>
chromatic got Valgrind working on his Linux PPC box and wanted to know
if the reports would be useful. Leopold Toetsch welcomed the
information.
Todo: fill Parrot_register_move() <http://xrl.us/o5xq>
Leopold Toetsch created a ticket [perl #38627] <http://xrl.us/o5xr>
with the todo item 'fill the function body of Parrot_register_move()'
in src/utils.c. Karl Forner asked for more details about the request,
and Leopold offered information.
socklen_t not defined <http://xrl.us/o5xs>
David Dyck replied to [perl #37906] <http://xrl.us/o5xt>, indicating
that he had made progress with the link phase error. Bernhard
Schmalhofer requested a patch and test results. David replied that his
modifications were just to make the code compile and should not form
the basis for a patch.
Allowing push/pop across sub calls <http://xrl.us/o5xu>
Bob Rogers submitted a patch to allow push/pop across sub calls with
the caveat that it breaks PGE. He requested help from someone who
understands PGE. Patrick Michaud looked in to the problem. Leopold
Toetsch, Chip Salzenberg and Will Coleda also spoke up on the use of
the user stack.
Actions aren't called at :outer sub exit <http://xrl.us/o5xv>
Bob Rogers reported that actions are not being called when an :outer
sub exits. He supplied a patch and noted that there was another bug in
the same region, which he currently does not have time to address.
Parrot versus NekoVM <http://xrl.us/o5xw>
Nicholas Cannasse made a benchmark comparing Parrot Win32 and NekoVM
which showed Parrot was five times slower and asked why that might be
the case. Leopold Toetsch replied that benchmarks are just lies, but
went on to offer an explanation. There were a few other comments on the
subject.
Lua PCM and garbage collection segmentation fault <http://xrl.us/o5xx>
Francois Perrad noted a segmentation fault in
languages/lua/t/tables_3.pir.
Incompatible change with PASM function call syntax <http://xrl.us/o5xy>
In r11801, Leopold Toetsch introduced a change in the call argument
bits which required all PASM code using function calls to also be
modified.
Question on pdd21 <http://xrl.us/o5xz>
In implementing pdd21, Leopold Toetsch had a question on namespaces.
Chip Salzenberg had some answers, which led to more questions from
Leopold, and another response from Chip.
Patch for nested macro support <http://xrl.us/o5x2>
Joshua Isom wrote several patches. One was a patch to imcc.l and
imclexer.c, a second contained a set of macros, and the third
demonstrates many of the macros. Chip Salzenberg was fairly pleased
with the ideas. The changes were committed in r11820.
OS X bus error in punie-clone <http://xrl.us/o5x3>
Will Coleda reported in [perl #38691] <http://xrl.us/o5x4> that a
slightly modified snapshot of punie caused an error. He included
details of the problem.
Parrot 0.4.0 to 0.4.2 upgrade problem <http://xrl.us/o5x5>
James Cloos reported that when upgrading from Parrot 0.4.0 to 0.4.2
there was a failure with make install.
HLL-mapped .Sub PMCs <http://xrl.us/o5x6>
Leopold Toetsch announced that r11852 made some modifications to
HLL-mapped .Sub PMCs.
Small POD error <http://xrl.us/o5x7>
According to Douglas Hunter, languages/pugs/pmc/pugsany.pmc contained
an 'over 4' without a 'back', which made Pod::Simple fail. He included
a patch.
Unused and unimplemented opcodes <http://xrl.us/o5x8>
Leopold Toetsch reviewed some opcodes in core.ops which aren't
implemented, and proposed some deletions and modifications. Steve
Peters and Jonathan Worthington agreed with the changes, and Leopold
implemented them in r11882.
MAYBE_FLAT discussion <http://xrl.us/o5x9>
Audrey Tang questioned the decision to remove MAYBE_FLAT in r11754
without a warning. Chip Salzenberg apologized and instead created a
document patch <http://xrl.us/o5ya> to address the issue.
tailcalls into the PIR compiler broken <http://xrl.us/o5yb>
In ticket [perl #38724] <http://xrl.us/o5yc>, Matt Diephouse noted this
error. Leopold Toetsch fixed it with revision r11896.
pdd21 questions <http://xrl.us/o5yd>
Leopold Toetsch had some questions for Chip Salzenberg. Other people
also replied to the thread.
Global not found between PIR and PMC <http://xrl.us/o5ye>
Francois Perrad posted some code and asked what mistake he'd made.
Leopold Toetsch responded, which launched a discussion between Leopold
and Chip Salzenberg over :: in pdd21.
Support utf8 as an input IO filter <http://xrl.us/o5yf>
Will Coleda created a todo request in [perl #38733]
<http://xrl.us/o5yg> for a UTF-8 filter.
Comments on namespace patch part 23 <http://xrl.us/o5yh>
Chip Salzenberg responded to Leopold Toetsch's document with comments.
One of his questions concerned the rationale behind the parrot::
namespace, which Leopold explained.
.None PMC now returns empty string instead of "None" for get_string
<http://xrl.us/o5yi>
Jerry Gay made a modification to the .None PMC in r11911.
Combining :slurpy and :optional <http://xrl.us/o5yj>
Patrick R. Michaud had a question concerning combining :slurpy and
:optional as an optimization.
parrotcode.org updated (0.4.1 to 0.4.2) <http://xrl.us/o5yk>
This was done.
PGE update fails some tests under x86_64 <http://xrl.us/o5ym>
Patrick R. Michaud reported that r11921 broke some PGE tests. He
requested that someone with more knowledge in this area look in to the
problem.
Remove enum_class_max <http://xrl.us/o5yn>
Leopold Toetsch created a todo ticket [perl #38756]
<http://xrl.us/o5yo> for replacing old globals with real interpreter
variables.
complex.exp - gcc issues <http://xrl.us/o5yp>
In [perl #38757] <http://xrl.us/o5yq>, Leopold Toetsch reported a bug,
which Joshua Isom elaborated on.
r11923 <http://xrl.us/o5yr>
Allison Randal made some modifications, and Nick Clark commented on it.
parrot-0.4.2 on FreeBSD 4.10 failure <http://xrl.us/o5ys>
Pankaj Kaushal reported a bug in parrot-0.4.2 and included the result
of gmake tests in ticket [perl #38764] <http://xrl.us/o5yt>.
TGE, precompile more <http://xrl.us/o5yu>
Will Codela created a todo ticket ([perl #38761] <http://xrl.us/o5yv>)
and chromatic submitted a patch.
early draft of I/O PDD <http://xrl.us/o5yw>
Allison Randal posted an early draft of the I/O PDD and requested
comments. There was a great deal of discussion, especially on socket
addresses, seek/tell, basic file IO, and integer types. A second draft
was created, and it also received feedback.
Changes to compilers/pge/rulec.pir broke punie <http://xrl.us/o5yx>
Will Coleda created ticket [perl #38775] <http://xrl.us/o5yy> to report
this error.
Build broken on OS X? <http://xrl.us/o5yz>
Will Coleda reported a problem with r11684 in ticket [perl #38597]
<http://xrl.us/o5y2>. Joshua Isom noted that he had it working for
r11676 and r11686, but that DYLD_LIBRARY_PATH needed to be set. This
led to some discussion on the best way to do this. Eventually the
problem resolved itself and Will closed the ticket.
trans.t failure on OpenBSD <http://xrl.us/o5y3>
In [perl #34549] <http://xrl.us/o5y4>, Steve Peters noted a test
failure in t/op/trans.t on OpenBSD. Patches were submitted for a number
of systems.
r11994 failing tests on FreeBSD <http://xrl.us/o5y5>
Ryan Hinton reported a number of failing tests in ticket [perl #38788]
<http://xrl.us/o5y6>
make PGE's rulec read utf8 <http://xrl.us/o5y7>
Will Coleda added a patch to promote UTF-8 encoded grammar rules.
rulec.pir should report line numbers on failure <http://xrl.us/o5y8>
Will Coleda created a todo request ([perl #38794] <http://xrl.us/o5y9>)
for better error reporting.
parser_util.c memory overrun <http://xrl.us/o5za>
Andy Dougherty supplied a patch ([perl #38784] <http://xrl.us/o5zb>) to
prevent Parrot from reading possibly unallocated memory.
rebuild language makefile without full re-configure <http://xrl.us/o5zc>
Will Coleda added a todo item as ticket [perl #38796]
<http://xrl.us/o5zd>.
CPP Comment tester overzealous <http://xrl.us/o5ze>
Will Coleda created a todo ticket ([perl #38797] <http://xrl.us/o5zf>)
showing the problem.
PMC and object creation <http://xrl.us/o5zg>
Leopold Toetsch would like an instantiate hook and felt that none of
the current 14 new opcodes provided the required functionality. There
were several suggestions.
property hash changes r12043 <http://xrl.us/o5zh>
Leopold Toetsch introduced a change to use Hash instead of PerlHash for
properties.
libparrot.so.0.4.2 <http://xrl.us/o5zi>
Sean Sieger reported being unable to get Parrot to run on Ubuntu 5.10.
This led to a lengthy discussion of the problem.
Strange dump output from PGE (x86_64 related? <http://xrl.us/o5zj>
Patrick R. Michaud elaborated on the strange results he encounters on
his x86_64 system and included example output from r12014. After some
input, it was determined that it was a GC bug.
Allow passing "todo = $reason" to Parrot::Test::example_output_is, like,
isnt <http://xrl.us/o5zk>
Bernhard Schmalhofer reported a bug with [perl #38760]
<http://xrl.us/o5zm>. chromatic supplied a patch.
skip #7 t/dynoplibs/myops.t for mingw <http://xrl.us/o5zn>
Jurosz Michal submitted a patch ([perl #38810] <http://xrl.us/o5zo>) to
bypass a Win32 MinGW infinite loop for "tree alarm test". The second
version was applied as r12077.
solaris 10 w gcc <http://xrl.us/o5zp>
Leopold Toetsch reported a bug in [perl #38823] <http://xrl.us/o5zq>.
Language (perl6-language)
Separate compilation and compile-time things <http://xrl.us/o5zr>
Zohar Kelrich had a comment involving varying results based upon which
module compiler was used. Yuval Kogman replied that he felt Perl 6
should use separate compilers.
Multisubs and multimethods: what's the difference? <http://xrl.us/o5zs>
Joshua Choi asked for some clarification of the difference between
multi sub infix:<.. ( Int $min, Int $max ) { ... }> and multi method
infix:<.. ( Int $min, Int $max ) { ... }>. Larry Wall and others
clarified that there is a difference.
Perl 6 design wiki? <http://xrl.us/o5zt>
Yuval Kogman suggested the creation of a wiki for several reasons: so
that annotations can be attached to synopses, scratchpads are public,
etc. Mark Overmeer was supportive but did express some concern about
creating another forum, and also about the porting process going on for
Perl 5 modules. Discussion on three level namespaces followed.
S06 Splicing clarification <http://xrl.us/o5zu>
Brad Bowman asked for more information about splicing. Audrey Tang and
Larry Wall replied.
RFC - weird stuff I had to do (for fun or profit) <http://xrl.us/o5zv>
Yuval Kogman requested stories on strange things people have done in
the past in the hopes of creating a better understanding unusual uses
of Perl 5. He posted his own stories, and a summary of what he learned.
Larry Wall had a few comments.
comment scope <http://xrl.us/o5zw>
Ruud H.G. van Tol suggested a lexical scope for comments. This led to a
discussion of POD syntax.
Where can I download perl6? <http://xrl.us/o5zx>
Apo purchased 'Perl 6 Essentials' and wondered where Perl 6 could be
found. Conrad Schneiker provided a link to Pugs, with the caveat that
much of the information in the book is outdated.
Multiparadigm Programming <http://xrl.us/o5zy>
Conrad Schneiker pointed out an interesting book he'd seen at the
library and requested that someone write a Perl version at some point.
why no negative (auto reversed) ranges? <http://xrl.us/o5zz>
TSa noted that S03 explicitly disallows auto-reversed ranges and asked
why that was the case. Larry Wall noted that to date, nobody wanted it.
where will we die to? <http://xrl.us/o5z2>
Yuval Kogman brought up a Catalyst problem debugging the eventual
location of a die within a cascade of evals. He suggested that Perl 6
should make it easier to trace an exception. Larry Wall asked how this
could be done without impacting performance, and Yuval clarified his
request.
UNIX commands: chmod <http://xrl.us/o5z3>
Gabor Szabo had a proposal for some alterations to chmod. There was
discussion on his suggestions.
Acknowledgments
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]
See also
* Perl Foundation activities <http://blog.perlfoundation.org>
* Perl 6 Development <http://dev.perl.org/perl6>
* Planet Perl Six <http://planetsix.perl.org/perl6>