Perl 6 summary, 25-31 Mar, 2007

kudra on 2007-04-19T12:15:00

This week on the Perl 6 mailing lists

"I don't think that it's possible to make this non-conformity a fatal heresy :-(
(gcc --spanish-inquisition)"

-- Nicholas Clark in '[perl #42110] [PATCH] Returning values from void functions'

Language

[svn:perl6-synopsis] r14359 - doc/trunk/design/syn

A commit by Larry Wall introduced user-definable array indexing. Darren Duncan wondered how one could declare an anonymous multidimensional array value which is compatible with the system Larry introduced. Larry explained that the semicolon notation is intended for slicing subscripts, which are two-dimensional, and it is therefore convenient to represent one dimension with a semicolon. There was further discussion on the syntax.

[svn:perl6-synopsis] r14354 - doc/trunk/design/syn

A commit by Larry Wall made all punctuation potentially meta.

Parrot Porters

[perl #41837] [PATCH] integer overflow in include/parrot/sub.h

Ticket [perl #41837] contained a patch which was required for 32-bit Solaris compilers. It was applied as r17853.

[perl #42045] [PATCH] add return statement to clone in iterator.pmc

Ticket [perl #42045] includes a patch from Klaas-Jan Stol which adds a return statement which had been forgotten. The patch was applied as r17794.

[perl #42082] [BUG]: Configure.pl: Misspecified option; 2 non-valid options documented

James Keenan explained that refactoring in Configure.pl had exposed two bugs in the file. He submitted a patch in ticket [perl #42082] which corrects the problems in the trunk. Joshua Isom had some questions about the supposed bugs; James explained why he considered them problems. Eventually the patch was applied as r17899.

Syntax for Constructing new Objects (and classes?)

This thread began with Klaas-Jan Stol asking about the syntax for constructing new objects because he thought that it was going to be changed. Allison Randal replied with examples of the two proposals for the new syntax.

This led Alek Storm to ask if new() would be a vtable method or a PCCMETHOD. Jonathan Worthington confirmed that it is a PCCMETHOD. Allison elaborated that it is a class method.

[perl #37997] r10604 build failure on Cygwin

In ticket [perl #37997], Ron Blaschke reported that make test fails on Cygwin for r10604, whereas r17772 builds without a problem. Joshua Gatcomb expressed his surprise, as he had not heard of anyone getting Parrot to work on Cygwin for several months.

Eric Hanchrow offered to occasionally do a test build on his Cygwin system. Bernhard Schmalhofer suggested that Eric use the smoke system as documented in docs/tests.pod. Eric later reported that he could not get r17772 working. Paul Cochrane seconded Eric's report. Ron suggested using the absolute path for PATH, rather than just blib/lib. Eric got a bit further using this approach, but then he had another failure.

Ron also noted that a few of the stm tests hang, which prevents smoking on Cygwin. chromatic asked if this was t/pmc/stmlog.t, but Ron thought it was t/stm/queue.t and t/stm/runtime.t.

[perl #42110] [PATCH] Returning values from void functions

Steve Peters reported that a couple of functions are trying to return values from void functions. He included a patch in ticket [perl #42110]. Andrew Dougherty remarked that he had submitted the same patch the previous week, but not in RT. The patch was applied as r17793.

Steve hoped there was a GCC warning flag which would catch this situation, but Nicholas Clark replied that he didn't think it was possible to look for this. He wondered if some other compilers could be coaxed into protesting. There was some discussion between Leopold Toetsch, Nicholas, Steve and chromatic over the value of -ansi -pedantic.

[perl #42151] [PATCH] Assorted casting cleanups - part I

In ticket [perl #42151], Steve Peters submitted a patch to clean up some casting instances. Kevin had a related request. Andy Dougherty also had a suggestion. Steve said that he intended to look at some of these ideas more closely as he worked on the project. chromatic and Leopold Toetsch also joined the thread.

IRC discussion of smoking and branching

Allison Randal posted a discussion of the draft document 'Parallel development requirements,' which was announced in thread 'ParrotCode meeting this week'.

There were some suggestions on how to improve the smoking system. For instance, Nicholas Clark noted that the Perl 5 system reports failures to perl5-porters, but the Parrot smoke failures aren't reported in a similar way. Another discussion involved commits which violate the coding standards.

Many people contributed to this thread, and also to the IRC conversation which Allison posted.

Re: [perl #42155] [PATCH] move members from Parrot_Interp to Parrot_Context

Alek Storm created ticket [perl #42155] to offer a patch which moved variables from Parrot_Interp to Parrot_Context. He noted that it broke some tests, and anyone who could figure out what the problem is will get a hug.

Leopold Toetsch replied that it was deliberate that these variables were not in the Context structure. Alek replied that some of them already are in Parrot_Context and this patch simply moves the rest of them. Leopold and Alek had some further discussion on the matter. chromatic added his thoughts as well. Some benchmarking was done in an attempt to calculate the performance of Parrot before and after the patch. Joshua Isom also tested it.

[perl #42156] [PATCH] Make invoke() return opcode_t*

Ticket [perl #42156] contained a patch by Steve Peters. This addressed some of the points raised in '[perl #42151] [PATCH] Assorted casting cleanups - part I '. Paul Cochrane reported that the patch generated a warning for him. Steve made some additional changes to resolve the issue, and the new patch was applied as r17859.

[perl #42161] [BUG] Parrot::Test throws "Can't spawn" warning on windows if a system call returns a negative value

Jerry Gay reported in ticket [perl #42161] that Parrot::Test throws a warning on Windows if a system call returns a negative value. He planned to commit a patch.

[perl #42073] [BUG]: compilers/pirc/Makefile not cleaned up by 'make realclean'

James Keenan reported in ticket [perl #42073] that he expects make realclean to return his Parrot sandbox to its initial checkout status. He noted that this was not always happening.

Klaas-Jan Stol was responsible for the file in question, but could not replicate the problem. James offered a patch and applied it as r17821. There were still some issues, which led James to ask if there were any Makefile experts who could help.

[perl #42169] [CAGE] Create a sample subversion/config

Will Coleda created ticket [perl #42169] in response to a recent IRC discussion. Paul Cochrane offered a possible patch. Allison Randal pointed out that this was a global configuration which would affect all subversion repositories, not just Parrot. It was added to editor/ in r17916.

[perl #42170] [PATCH] Report line numbers on trailing_space.t

Will Coleda created ticket [perl #42170] for a patch which was mentioned on IRC. He thought it was rather verbose, but didn't object to someone applying it. Jerry Gay and Eric Hanchrow offered comments. Paul Cochrane reported that the options had been added to docs/project/cage_cleaners_guide.pod.

[perl #42215] [WEB]: Exporter PMC (and possibly others) missing from pmc docs page

In ticket [perl #42215], Jerry Gay reported that the website parrotcode.org was missing some newly created PMCs.

[perl #42218] [PATCH][Cygwin] Use bc on Cygwin

Ron Blaschke submitted a patch which enables bc on Cygwin if it is available. This was in ticket [perl #42218].

[perl #42074] [PATCH] add RECURSION_LIMIT macro

Ticket [perl #42074] contains a patch by Alek Storm which defines a RECURSION_LIMIT macro which had been hardcoded. It was applied in r17863.

chromatic noted that it would be easy to make it a gettable/settable interpreter property and wondered if it would be of any use. Paul Cochrane replied that it already is that type of property, and that it would probably be valuable to be able to set the value at runtime. Leopold Toetsch reported that the interpreter already has it.

Alek noted that the ParrotInterpreter PMC doesn't implement set_pmc_keyed and wondered if he could implement it. Allison Randal decided against it. There was a brief discussion on this.

[svn:parrot-pdd] r17711 - trunk/docs/pdds/draft

Jonathan Worthington made a commit to PDD15 which added a proposal for role conflict resolution.

[perl #42072] [BUG]: pmc2c.pl: Does anyone (know how to) use the 'no-body' option?

In ticket [perl #42072], James Keenan reported that he had experienced problems writing a test for the 'no-body' option in November/December, but hadn't gotten around to it. Because this option is not completely covered by the test suite, it is affecting other code. Therefore James is trying to figure out how it ought to work and had some questions about the warnings he saw.

First Perl 6 Microgrant - Steve Peters on Parrot Portability

Jesse Vincent announced that Steve Peters was the first recipient of the Perl 6 microgrant. Steve will be working on Parrot portability, and has already made several patches this week. More information about his proposal can be found in the grant application text.

Details about the microgrant application procedure are available for those interested in submitting a proposal.

A challenge... about Parrot

Alberto Simões mentioned a conference on languages, compilers and interpreters in Portugal. He thought it might be a good occasion to make a scientific publication about Parrot. Alberto felt that bringing Parrot to the attention of the scientific community would be a gain for both universities and Parrot. He offered to help with accommodation but not with writing the talk.

Jonathan Worthington thought it was a good idea although he wouldn't be able to attend the conference. He noted that he had previously spoken to an academic audience and that it was challenging. He wanted to see the gap bridged, but noted that his own experience had involved some negative responses from a theory-oriented group.

[perl #42105] memory leak in PCCMETHOD together with Parrot_runops_fromc

Richard Hundt reported a memory leak, using ticket [perl #42105] to draw attention to it.

[perl #42106] t/pmc/iterator.t t/src/io.t failed on Linux

In ticket [perl #42106], James Keenan reported some errors that he had encountered with make test on Linux. Eric Hanchrow replied that he thought it was his code, and that he was looking into the problem.

[perl #42107] [PATCH] Intel C++ is not gcc

Steve Peters submitted a patch to help identify GCC compilers correctly. It was attached to ticket [perl #42107] and applied as r17789.

ParrotCode meeting this week

Will Coleda wanted to discuss branching and the repository in general at the weekly Parrot meeting. Jerry Gay started a wiki page to keep track of ideas.

[perl #42135] [PATCH] Fix overzealous flag removal in t/examples/shootout.t

In ticket [perl #42135], Andy Dougherty tried to address the problem of examples in examples/shootout specifying flags which aren't described anywhere. It was applied as r17792.

Leopold Toetsch apologized for the lack of documentation and explained what the flags did.

Testing PIRC

Klaas-Jan Stol wanted to create a test suite for compliers/pirc but wanted suggestions on how he could do this.

perl5-porters

Working on punie + rindolf (the implementation) Reloaded

Shlomi Fish discussed the idea of writing a Perl 5 front-end which will compile Perl 5 code to Parrot. He wanted to name it 'rindolf' and wondered if Punie would be a good basis for the effort. He also wanted to know if he could have commit access to the repository.

Allison Randal replied that it was an unusual approach and that she had doubts about the implementation plan, but that she would be interested in knowing what obstacles and successes came out of the effort. She thought that Punie would not be useful to Shlomi, given his plan. Her suggestion with regard to the repository was that he develop outside the tree and distribute it as a separate loadable module.

Shlomi argued for being liberal with commit bits, and expressed his concern that the name Punie suggests that it is a toy. There was some continued discussion on these points, and also on Shlomi's proposal.

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