Summary updates
Perl 6 Summary (March 2006)
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 9188Beau E. Cox reported a failure with Pugs r9188, which failed to make smoke and make install. A patch was submitted.
Fwd: The "lrep" thingFlavio 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 P6Premshree Pillai asked about XML parsing in Pugs. Yuval Kogman made some recommendations.
Support for S05's new "result object"?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.
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 closuresPatrick 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?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 NetBSDSteve 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] with Steve's NetBSD support patch.
NCI 'v' versus '' in function parameter signaturesIn 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.
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 sequenceTim 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 reportschromatic 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()Leopold Toetsch created a ticket [perl #38627] 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.
David Dyck replied to [perl #37906], 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 callsBob 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 exitBob 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 NekoVMNicholas 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 faultFrancois Perrad noted a segmentation fault in languages/lua/t/tables_3.pir.
Incompatible change with PASM function call syntaxIn 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 pdd21In 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 supportJoshua 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-cloneWill Coleda reported in [perl #38691] 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 problemJames Cloos reported that when upgrading from Parrot 0.4.0 to 0.4.2 there was a failure with make install
.
Leopold Toetsch announced that r11852 made some modifications to HLL-mapped .Sub PMCs.
Small POD errorAccording to Douglas Hunter,
languages/pugs/pmc/pugsany.pmc
contained an 'over 4' without a 'back',
which made Pod::Simple fail.
He included a patch.
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 discussionAudrey Tang questioned the decision to remove MAYBE_FLAT in r11754 without a warning. Chip Salzenberg apologized and instead created a document patch to address the issue.
tailcalls into the PIR compiler brokenIn ticket [perl #38724], Matt Diephouse noted this error. Leopold Toetsch fixed it with revision r11896.
pdd21 questionsLeopold Toetsch had some questions for Chip Salzenberg. Other people also replied to the thread.
Global not found between PIR and PMCFrancois 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 filterWill Coleda created a todo request in [perl #38733] for a UTF-8 filter.
Comments on namespace patch part 23Chip 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_stringJerry Gay made a modification to the .None PMC in r11911.
Combining :slurpy and :optionalPatrick R. Michaud had a question concerning combining :slurpy and :optional as an optimization.
parrotcode.org updated (0.4.1 to 0.4.2)This was done.
PGE update fails some tests under x86_64Patrick 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_maxLeopold Toetsch created a todo ticket [perl #38756] for replacing old globals with real interpreter variables.
complex.exp - gcc issuesIn [perl #38757], Leopold Toetsch reported a bug, which Joshua Isom elaborated on.
r11923Allison Randal made some modifications, and Nick Clark commented on it.
parrot-0.4.2 on FreeBSD 4.10 failurePankaj Kaushal reported a bug in parrot-0.4.2 and included the result of gmake tests in ticket [perl #38764].
TGE, precompile moreWill Codela created a todo ticket ([perl #38761]) and chromatic submitted a patch.
early draft of I/O PDDAllison 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 punieWill Coleda created ticket [perl #38775] to report this error.
Build broken on OS X?Will Coleda reported a problem with r11684 in ticket [perl #38597]. 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 OpenBSDIn [perl #34549], 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 FreeBSDRyan Hinton reported a number of failing tests in ticket [perl #38788]
make PGE's rulec read utf8Will Coleda added a patch to promote UTF-8 encoded grammar rules.
rulec.pir should report line numbers on failureWill Coleda created a todo request ([perl #38794]) for better error reporting.
parser_util.c memory overrunAndy Dougherty supplied a patch ([perl #38784]) to prevent Parrot from reading possibly unallocated memory.
rebuild language makefile without full re-configureWill Coleda added a todo item as ticket [perl #38796].
CPP Comment tester overzealousWill Coleda created a todo ticket ([perl #38797]) showing the problem.
PMC and object creationLeopold Toetsch would like an instantiate
hook and felt that none of the current 14 new
opcodes provided the required functionality.
There were several suggestions.
Leopold Toetsch introduced a change to use Hash
instead of PerlHash
for properties.
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?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, isntBernhard Schmalhofer reported a bug with [perl #38760]. chromatic supplied a patch.
skip #7 t/dynoplibs/myops.t for mingwJurosz Michal submitted a patch ([perl #38810]) to bypass a Win32 MinGW infinite loop for "tree alarm test". The second version was applied as r12077.
solaris 10 w gccLeopold Toetsch reported a bug in [perl #38823].
Language (perl6-language)
Separate compilation and compile-time thingsZohar 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?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.
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 clarificationBrad Bowman asked for more information about splicing. Audrey Tang and Larry Wall replied.
RFC - weird stuff I had to do (for fun or profit)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 scopeRuud H.G. van Tol suggested a lexical scope for comments. This led to a discussion of POD syntax.
Where can I download perl6?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 ProgrammingConrad 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?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?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: chmodGabor 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 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, kudra@domaintje.com.
See also
Re:Links Not Working
mr_mischief on 2006-07-17T21:12:20
The links all start with 'http://search.cpan.org/perldoc?http:/#groups.google.com' instead of 'http://groups.google.com'.
If someone could just fix the links in the summary, it'd be very much nice. When I copied, decoded, and pasted them into my address bar, they worked. The information is good, but somehow the links got misrepresented in the source.Re:Links Not Working
audreyt on 2006-07-18T10:56:37
That's indeed very weird, as the version on my submitted journal is good.Maybe the pending-submission queue picked up an earlier version and discarded the newer submission... In any case, sorry for the messup.
:)
I think the links are mostly fixed up here
Perl 6 Summary (March 2006)
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 9188Beau E. Cox reported a failure with Pugs r9188, which failed to make smoke and make install. A patch was submitted.
Fwd: The "lrep" thingFlavio 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 P6Premshree Pillai asked about XML parsing in Pugs. Yuval Kogman made some recommendations.
Support for S05's new "result object"?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.
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 closuresPatrick 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?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 NetBSDSteve 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] with Steve's NetBSD support patch.
NCI 'v' versus '' in function parameter signaturesIn 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.
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 sequenceTim 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 reportschromatic 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()Leopold Toetsch created a ticket [perl #38627] 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.
David Dyck replied to [perl #37906], 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 callsBob 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 atBob Rogers reported that actions are not being called when an
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 faultFrancois Perrad noted a segmentation fault in languages/lua/t/tables_3.pir.
Incompatible change with PASM function call syntaxIn 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 pdd21In 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 supportJoshua 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-cloneWill Coleda reported in [perl #38691] 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 problemJames Cloos reported that when upgrading from Parrot 0.4.0 to 0.4.2 there was a failure with make install
.
Leopold Toetsch announced that r11852 made some modifications to HLL-mapped
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.
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 discussionAudrey Tang questioned the decision to remove MAYBE_FLAT in r11754 without a warning. Chip Salzenberg apologized and instead created a document patch to address the issue.
tailcalls into the PIR compiler brokenIn ticket [perl #38724], Matt Diephouse noted this error. Leopold Toetsch fixed it with revision r11896.
pdd21 questionsLeopold Toetsch had some questions for Chip Salzenberg. Other people also replied to the thread.
Global not found between PIR and PMCFrancois Perrad posted some code and asked what mistake he'd made.
Leopold Toetsch responded,
which launched a discussion between Leopold and Chip Salzenberg over
Will Coleda created a todo request in [perl #38733] for a UTF-8 filter.
Comments on namespace patch part 23Chip Salzenberg responded to Leopold Toetsch's document with comments. One of his questions concerned the rationale behind the parrot:: namespace, which Leopold explained.
Jerry Gay made a modification to the
Patrick R.
Michaud had a question concerning combining
This was done.
PGE update fails some tests under x86_64Patrick 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_maxLeopold Toetsch created a todo ticket [perl #38756] for replacing old globals with real interpreter variables.
complex.exp - gcc issuesIn [perl #38757], Leopold Toetsch reported a bug, which Joshua Isom elaborated on.
r11923Allison Randal made some modifications, and Nick Clark commented on it.
parrot-0.4.2 on FreeBSD 4.10 failurePankaj Kaushal reported a bug in parrot-0.4.2 and included the result of gmake tests in ticket [perl #38764].
TGE, precompile moreWill Codela created a todo ticket ([perl #38761]) and chromatic submitted a patch.
early draft of I/O PDDAllison 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 punieWill Coleda created ticket [perl #38775] to report this error.
Build broken on OS X?Will Coleda reported a problem with r11684 in ticket [perl #38597]. 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 OpenBSDIn [perl #34549], 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 FreeBSDRyan Hinton reported a number of failing tests in ticket [perl #38788]
make PGE's rulec read utf8Will Coleda added a patch to promote UTF-8 encoded grammar rules.
rulec.pir should report line numbers on failureWill Coleda created a todo request ([perl #38794]) for better error reporting.
parser_util.c memory overrunAndy Dougherty supplied a patch ([perl #38784]) to prevent Parrot from reading possibly unallocated memory.
rebuild language makefile without full re-configureWill Coleda added a todo item as ticket [perl #38796].
CPP Comment tester overzealousWill Coleda created a todo ticket ([perl #38797]) showing the problem.
PMC and object creationLeopold Toetsch would like an instantiate
hook and felt that none of the current 14 new
opcodes provided the required functionality.
There were several suggestions.
Leopold Toetsch introduced a change to use Hash
instead of PerlHash
for properties.
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?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, isntBernhard Schmalhofer reported a bug with [perl #38760]. chromatic supplied a patch.
skip #7 t/dynoplibs/myops.t for mingwJurosz Michal submitted a patch ([perl #38810]) to bypass a Win32 MinGW infinite loop for "tree alarm test". The second version was applied as r12077.
solaris 10 w gccLeopold Toetsch reported a bug in [perl #38823].
Language (perl6-language)
Separate compilation and compile-time thingsZohar 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?Joshua Choi asked for some clarification of the difference between multi sub infix:<..
( Int $min,
Int $max ) {multi method infix:<..
( Int $min,
Int $max ) {
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 clarificationBrad Bowman asked for more information about splicing. Audrey Tang and Larry Wall replied.
RFC - weird stuff I had to do (for fun or profit)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 scopeRuud H.G. van Tol suggested a lexical scope for comments. This led to a discussion of POD syntax.
Where can I download perl6?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 ProgrammingConrad 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?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?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: chmodGabor 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 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, kudra@domaintje.com.
See also