Perl 6 summary, 11-17 Mar, 2007

kudra on 2007-04-03T22:02:00

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.

DFA rules and p5's $/

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.

[perl #41764] [PATCH] teach differentiation of C<exit 1> in exception handling in docs/compiler_faq.pod

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.

Bug Day for 0.4.10 on 3/17

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