This week on the Perl 6 mailing lists
Due to a lack of free time, I will be unable to continue creating the Perl 6 summaries after April. We are looking for a volunteer or group of volunteers to take over the task.
Please contact me if you would like more information about what the job entails (contact information can be found at the end of this post).
Language
Some questions about multislices and other things
Ryan Richter translated the Perl 5 Markov chain to Perl 6. He wondered if he has the correct syntax; he cannot test it because Pugs doesn't have full multislice support yet.
Larry Wall noted that <==
had become <<==
recently, and gave a
few other comments.
[svn:perl6-synopsis] r14325 - doc/trunk/design/syn
A commit by Larry Wall included a specification for the version sharing and emulation model for libraries. Zev Benjamin wondered if there could be an API version attribute. Larry thought that this was covered by 'emulation', but that maybe an API naming convention was needed. John Macdonald added his thoughts on the terminology employed.
[svn:perl6-synopsis] r14339 - doc/trunk/design/syn
A commit by Larry Wall clarified S02, S03, S04, and S06. The explicit
pipe target became @(*)
or @@(*)
. Pushy pipes were modified.
$?BLOCK
returns a list of labels.
Brad Bowman wanted to know if the form of per-filehandle input record separators had been added to the Synopses.
Larry Wall replied that it hasn't been, although it was discussed.
He added a remark to Functions.pod
about .split
on filehandles.
Parrot Porters
[perl #41364] [PATCH] Fixed object vtable method overrides in PIR
Earlier, in ticket [perl #41364], Patrick R. Michaud noted that the double-underscore method of overriding vtable methods cannot be deprecated until ticket [perl #40626] 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. Alek discovered that this was due to a change in r41549, and updated the patch. Jonathan applied the patch manually in r17514 so that it could be included in the release.
[perl #40544] [NEW] Test for DOS line endings in Parrot text files
Earlier, in ticket [perl #40544], Paul Cochrane submitted a test which checks for DOS line endings in the Parrot distribution.
Will Coleda recently noted that some of the problems are related to [perl #41485] and that when he sets the properties in his working copy, the tests succeed. Paul provided an update: he will be do a few commits which update the svn eol property. Because a large number of files will be affected, the update will done in a small time slot.
As of r17102, it was fixed.
However, on March 15th, Will Coleda asked Paul and Jerry Gay to insure that the test doesn't encourage people to update files which would break the Windows build, because the tests were failing again.
[perl #41579] [BUG] t/pmc/ref.t, t/pmc/threads.t file with -C runcore
Previously, in ticket [perl #41579], Patrick R . Michaud reported two failing tests. chromatic confirmed that this was not restricted to x86_64.
This week chromatic supplied a patch but he wasn't sure that it was correct with regard to the Ref PMC.
In ticket [perl #41764], Julian Fondren submitted a patch because exception severity wasn't documented. It was applied in r17431.
[perl #41771] Uncaught Parse Error Leads to Segfault
chromatic reported a segmentation fault in ticket [perl #41771]. He included some code which demonstrated the problem. Bob Rogers claimed that this was the same issue as [perl #41097].
[Parrot::Embed] Use ExtUtils::MakeMaker for In-Tree Parrot::Embed Builds
chromatic supplied a patch which tells ExtUtils::MakeMaker how to build Parrot::Embed from a compiled but uninstalled Parrot. He requested tests from non-Linux platforms. Jonathan Worthington found some problems, but thought that they might be due to his installation, not chromatic's patch.
[PDD15 PROPOSAL] Pluggable MRO
Jonathan Worthington outlined one of the things he'd like to see in PDD15: method resolution order. Larry Wall offered his thoughts on children and parents having different method resolution orders.
Nicholas Clark said that Brandon Black has been working on making pluggable method resolution order for Perl 5, and suggested that Jonathan talk to him about it.
[perl #41776] [RFE] ParrotIO objects that work on strings
In ticket [perl #41776], Will Coleda noted that it should be
possible to redirect input from and output to ParriotIO objects
which don't perform IO. This was documented in docs/BROKEN.pod
.
[perl #41777] [RFE] Submethods
Ticket [perl #417777] contains an entry from docs/BROKEN.pod
which needs to be fixed.
[perl #41779] [RFE] Anonymous Classes
Will Coleda copied this item from docs/BROKEN.pod
to the ticketing
system, creating ticket [perl #41779].
[perl #41778] [RFE] Lexical Classes
Ticket [perl #41778] documents another item from docs/BROKEN.pod
.
[perl #41780] [BUG] Nested *Struct PMCs Share State
Another ticket ([perl #41780]) was created for an item in
docs/BROKEN.pod
. chromatic was working on a test case to demonstrate
the problem.
[perl #41781] [RFE] Store HLL information in invokable PMCs
Ticket [perl #41781] tracks an entry from docs/BROKEN.pod
which
explains that invokable PMCs need a canonical way to store their associated
HLL source and argument information.
[perl #41782] [RFE] Allow Runtime Compiler Registration
Will Coleda copied yet another item from docs/BROKEN.pod
to the
ticketing system: [perl #41782]. Leopold Toesch's proposed startup
sequence is described in the ticket.
[perl #41783] [BUG?] main isn't in src/parrot.c
In ticket [perl #41783], Will Coleda documented the docs/BROKEN.pod
item from compilers/imcc/main.c
.
[perl #41784] [parrotcode] Link to IMCC FAQ is broken
Bernhard Schmalhofer reported in ticket [perl #41784] that the
link to IMCC FAQ
is broken in the main (parrotcode) FAQ.
[perl #41786] [PATCH]: tools/build/ops2c.pl refactored
James Keenan resubmitted patches previously submitted in [perl #41608], this time using ticket [perl #41786]. He had some problems with the original submissions.
[perl #41788] [BUG] Real registers are limited to 2 digits
Klaas-Jan Stol created ticket [perl #41788] to report that the several registers are limited to 2 digits. Because Parrot is no longer limited to 32 registers per type, this can be considered a bug.
Nuno Carvalho submitted a patch to change the lexer to accept additional digits. chromatic wondered what the effect would be on the register allocator and memory usage. Leopold Toetsch didn't see this as a problem. Jonathan Worthington also thought that it would be more usual for the programmer to ask Parrot to make the allocation. Nuno reminded the list that the field is a type of INTVAL, and therefore will already be limited. There was a bit of further discussion on this. Allison Randal saw no reason not to limit the lexer to a 32-bit integer.
[perl #41790] [PATCH] Change sub's get_string to return short name
Will Coleda created ticket [perl #41790]. He is working on Tcl and
needs to know the name of a .Sub
at runtime and included a patch which
he'd like to see in 0.4.10. The patch did make some tests fail.
Jonathan Worthington was mostly in favour of the plan, but wanted to know more about how the tests were failing. Matt Diephouse liked it too; he had nearly changed it himself the previous week. Allison Randal approved the change, and it was applied in r17484.
stuck with tge transformation for pynie using PAST::VarList
Klaas-Jan Stol expressed some difficulties he was having with tree transformation for Pynie, and asked for help from anyone with knowledge in this area.
[perl #41230] [BUG] t/codingstd/perlcritic.t uses too many resources
Earlier, Jerry Gay created ticket [perl #41230]. Recently, Will Coleda reported that it had been updated to run all the policies at once, but to report by policy. This way, each file is only processed once.
[perl #41802] [BUG] GC errors with PGE (may have failing tests!)
In ticket [perl #41802], Jerry Gay noted that in r17470 he's
disabled the -G
flag on three test files. The change addressed some
garbage collector bugs, and the ticket prevents the (known) issue from being
reported.
[perl #41812] [PATCH 6/6] [lib] Test::More - add isa_ok()
In tickets [perl #41809], [perl #41810], [perl #41811], [perl #41812], and [perl #41813], Sam Vilain submitted several patches for Test::More.
The patches do the following:
* factor out the comparison and test function
* clean up test_skip()
output
* add the isa_ok()
method
* refactor is() :multi
for integers
* changed is()
to expect a different order of arguments
* modify symbol exports in the example
Allison Randal looked at two of the patches and requested some refactoring.
She explained in some detail what she is looking for. In addition, she
suggested removing the .IMPORT
macros which she had introduced.
[perl #41818] [PATCH */4]: [t/op] add tests for string memory layout
Sam Vilain created ticket [perl #41818] to provide a patch.
Will Coleda announced a Bug Day for 0.4.10 on March 17th. Although this Bug Day has passed, there will be others...
[perl #41819] [PATCH */2]: [t/pmc] minor object-meths.t clean-ups
Sam Vilain submitted a patch in ticket [perl #41819].
[PATCH] Free Thread Interpreter Pool During Shutdown
chromatic supplied a patch which fixed some unneeded output in a Valgrind report.
[PATCH] Free Context After Copy
chromatic had another Valgrind report, and submitted a patch.
[perl #41825] morph vtable method not working in PIR
Richard used ticket [perl #41825] to report the problem described in the subject, and supplied a code example.
[perl #41826] vtable method 'find_method' not working in PIR
Richard included some example code in ticket [perl #41826] to demonstrate the problem described in the subject.
[perl #39908] [BUG] IMCC treats $S as a non-register instead of throwing an error
Nuno Carvalho replied to ticket [perl #39908]. In the ticket, Matt Diephouse had included an example of the error. Nuno noted that this was related to '[perl #41788] [BUG] Real registers are limited to 2 digits ' and attached a patch to correct the test. Jerry Gay wanted to see the examples in the ticket converted to tests.
[perl #41827] ICU endian issues causing test failures.
In ticket [perl #41827], Joshua Isom reported a failure with
t/op/stringu.t
, which was probably due to an assumption of
small endianness.
[perl #41829] languages/Zcode is broken
Bernhard Schmalhofer created ticket [perl #41829] to discuss some
errors in languages/Zcode
.
[perl #37178] [PATCH] Quiet a few alignment warnings
In ticket [perl #37178], Will Coleda applied a patch which quieted some alignment warnings. Andy Dougherty had created it some time ago. He hoped someone else would take up the task of trying to document and check Parrot's alignment assumptions.
Later, the patch had to be removed because it had introduced some
problems. One problem was that it incorrectly assumed that all
compilers accept a -h
, --help
or /?
switch. He and chromatic
tried to find a solution but were not successful; chromatic promised
to work on a better patch.
[perl #41833] [TODO] test conv_i2 opcode
Will Coleda created ticket [perl #41833]. In it, he said that
the conv_i2
opcode had been resurrected, and that there may already
be some tests for it.
[perl #41837] [PATCH] integer overflow in include/parrot/sub.h
Ticket [perl #41837] demonstrates an integer overflow in
include/parrot/sub.h
. chromatic applied the patch in r17853.
Re: [perl #38764] Test results of parrot on Freebsd
Pankaj kaushal, chromatic, and Paul Cochrane discussed ticket [perl #38764]. Will Coleda had asked for tests to run against parrot-0.4.9.
[perl #40087] [BUG] Segfault in key.pmc
Will Coleda created ticket [perl #40087] several months ago. Jonathan Worthington tried to reproduce the error and requested updated instructions on how to produce the problem.
[perl #41857] [CAGE] Make a "make valgrind" target
Paul Cochrane wanted a makefile target so that the valgrind tool suite could be used. He noted this in ticket [perl #41857].
[perl #41858] [CAGE] Make a reasonable set of rules for splint
In ticket [perl #41858], Paul Cochrane reported that splint
creates a number of errors by default, and suggested that a set of
rules be created for it.
[perl #41859] [TODO] Replace cage/todo.pod files by RT tickets
Paul Cochrane created a ticket to make tickets of cage todo items, and then resolved his own ticket ([perl #41859]).
[perl #41860] [CAGE] Run Parrot under Coverity Prevent
In ticket [perl #41860], Paul Cochrane noted that he wanted to see Parrot running under Coverity Prevent.
[perl #41861] [TODO] Create (and start the basics of) a cage cleaner guide
Paul Cochrane created ticket [perl #41861] to create the TODO item 'create a cage cleaner guide'. It was resolved in r17556.
[perl #41862] [CAGE] Make a reasonable set of rules for lint
In ticket [perl #41862], Paul Cochrane requested a reasonable
set of rules for lint
and provided a suggested starting point.
Compiler
Parrot, Perl 5 and performance
Ozgun wondered if compiling Perl 5 to Parrot byte code would provide any performance benefit, and how difficult it would be to do this.
chromatic explained that it would take quite a bit of effort to completely translate Perl 5 syntax. He did expect that it would improve performance, but pointed out that Parrot isn't as mature as Perl 5. Nicholas Clark said he didn't expect it would create an enormous increase in speed. He suggested profiling the Perl interpreter rather than profiling the code itself.
Isaac Gouy noted that PIR is included in the Debian performance comparison page which Ozgun had cited.
Acknowledgements
This summary was prepared using Mail::Summary::Tools, available on CPAN.
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.
Distribution
This summary can be found in the following places:
See Also