Perl 6 summary, 18-24 Mar, 2007

kudra on 2007-04-18T17:31:00

This week on the Perl 6 mailing lists

This week saw the introduction of the Perl 6 Microgrants. Read more about them in 'Perl 6 Microgrants. Now accepting proposals.'

Language

Re: Synopsis 26

Thom Boyer responded to Damian Conway's post from November which thanked people for offering feedback on the first draft. Thom said that he had been unable to find the XHTML version of S26 and wondered if it was available.

Jerry Gay replied that there wasn't a pod parser available yet. Damian responded with the requested file, and said he still hoped to finish the Pod6 parser but he wasn't sure when he would have time.

Ævar Arnfjörð Bjarmason asked if Damian could post the code he currently has, so that others could work on it.

Enhanced enumerations

Jonathan Lang proposed a module which would let you set a cycle for enumerations. For instance, a 'seasons' enumeration might be defined as 'spring, summer, autumn, winter' and incrementing summer would result in winter. Andy Armstrong described enumeration as a simple state machine.

Parrot 0.4.10 released

Will Coleda announced the release of Parrot 0.4.10 and highlighted some of the improvements made with this version. This release is named "The Release Formerly Known as "Prince"."

Parrot Porters

[perl #41870] [TODO] create config file processing library for use in pir

In ticket [perl #41870], Jerry Gay requested a configuration file processing library to use in PIR code. Will Coleda did this.

[perl #41871] [BUG]: t/pmc/metaclass.t fails on Darwin

In ticket [perl #41871], James Keenan reported a failure he'd encountered with make test. Later he reported that he had heard that this test was supposed to fail, and suggested making it a TODO. chromatic said that expected failures need to be marked as TODO, because volunteer time is being wasted. Jonathan Worthington agreed.

[perl #41878] [TODO] create exporter pmc

Jerry Gay noted in ticket [perl #41878] that Allison Randal had replaced the .IMPORT macro with the export_to namespace which was defined in PDD21. However, the code was lacking safety checks and he suggested creating an Exporter PMC.

Allison elaborated by suggesting an interface. Patrick R. Michaud added his comments. A discussion on importing followed, with Will Coleda also contributing.

[perl #41881] [CAGE] Redo CONTEXT(interp->ctx)->foo

Paul Cochrane created ticket [perl #41881] from the cage/todo.pod. Jonathan Worthington was not sure that eliminating the macro there would be the correct thing to do.

[perl #41886] [CAGE] Use lcov to show code coverage

In ticket [perl #41886], Paul Cochrane noted that the Icov tool can be used to produce HTML output of code coverage information. He thought a make cover target could be added to the Makefile.

Paul Johnson mentioned the option of using Devel::Cover to generate the reports. Paul Cochrane also noted that there was a script in tools/dev/parrot_coverage.pl.

[perl #38988] [PDD] review pdd07_codingstd.pod

Will Coleda reopened ticket [perl #38988] because PDD07 contained a marker indicating that Chip had edited part of it, and everything below needed review.

[perl #41505] [CAGE] Cleanup and reorganize documentation related to svn properties

Will Coleda created ticket [perl #41505] to suggest that documentation of all svn properties needs to be cleaned up and reorganized. Paul Cochrane attempted to do this with r17591.

rpm package

Steven Pritchard remarked that he had been working on getting a package built for Fedora, and shared his current package. Allison Randal asked if he had kept track of the things which caused problems, so that the packaging process could be improved.

chromatic speculated that installation paths which are not present or are incorrect is a common problem. Allison agreed, and wondered if some tests could be created to check for installation paths. Mike Mattle explained some of the difficulties in doing this. Joshua Isom thought that it would not too difficult.

Steven made a list of his three major problems: hardcoded 'lib', LD_LIBRARY_PATH had to be set to blib/lib in the top directory, and the languages/ files aren't automatically installed.

Re: [perl #39823] [CAGE] tools/dev/run_indent.pl -- this should be a test

Jerry Gay felt that there should be a coding standards test to ensure that C source files have the correct indentation. Some time ago he created ticket [perl #39823] on this subject.

Recently, Paul Cochrane asked if t/codingstd/c_indent.t met the requirement. Jerry replied that there were still some further checks which should be implemented as tests.

[perl #41884] [PATCH] gcc/mingw32-make compilation failure under MSWin32

In ticket [perl #41884], Alexandr Ciornii submitted a patch to fix a compilation error on Win32.

[perl #41885] [BUG] All the dynoplibs/dynpmcs fail on freebsd

Joshua Isom created ticket [perl #41885] to report failures for dynpmc and dynoplib tests on FreeBSD 6.0. Paul Cochrane noted that it also happens on FreeBSD 6.1.

[perl #41168] graceful "no compiler" error message?

Earlier, in ticket [perl #41168], Will Coleda added a request for a 'no compiler found' error message in configure.pl.

A patch was supplied by chromatic, and applied by Paul Cochrane in r17614. Paul asked for someone to check if it also worked on Windows, because he had only been able to test it on Linux. Jerry Gay confirmed that it worked.

[perl #41889] [PATCH] hoist cut and paste duplication into a function in src/library.c, also possible win32 bug found ?

Mike Mattie created ticket [perl #41889]. He thought he had seen some duplication in src/library.c and so he attached a patch which corrected it. He wasn't able to test it on Win32, however.

Jonathan Worthington noted that some of the code Mike thought was broken worked. He also planned to apply the patch. Eventually this was done as r17626.

Nicholas Clark had some comments on the algorithm involved, and some questions about 2-letter drive names. There was some further discussion on the temporary solution and the proposed final resolution of the issue. Joshua Juran was also involved in the discussion.

Later, Mike posted another patch to src/library.c, meant to be applied after the previous patch. This was ticket [perl #41900]. It was applied as r17628.

After this, Mike supplied a third and a fourth patch in [perl #41902] and [perl #41903]. These were later replaced with [perl #41905]. Ticket [perl #41906] was also part of this series. Jerry Gay was able to confirm that it works on Win32 and it was applied as r17630.

Finally, ticket [perl #41918] addressed some spelling errors noted by Jerry Gay. It was applied as r17680.

[perl #38764] Test results of parrot on Freebsd

Paul Cochrane submitted the output of make test on FreeBSD 6.1. chromatic had also seen a failure with t/stm/llqueue.t but considered the other errors unexpected. He asked if Paul had GDBM installed. Paul answered in the affirmative. This was covered in ticket [perl #38764].

parrot-0.4.9 ebuild for the gentoo distribution (WIP)

Mike Mattie has been working on a Gentoo ebuild for the 0.4.9 release. He noted that some paths are mistakenly installed by Parrot and that rpm had the same problem. He included a copy of the build.

the value of maintaining a working install target to the parrot project

Mike Mattie described himself as a programmer interested in the Parrot virtual machine. He found that one of his biggest obstacles to working with Parrot is that it doesn't have a working install target. He explained his reasoning and needs in depth.

Allison Randal replied that it was well-known that the install process needs improvement, and patches and suggestions are welcome. She addressed many of Mike's points, and welcomed proposals which may come from the careful analysis Mike offered.

[perl #41892] t/stm/llqueue segment violation on test #2

In ticket [perl #41892], Erik Johansen reported an error on SuSe Linux 10.2.

[perl #41893] [BUG] 0.4.9 leaks various .c files into install image, creates PREFIX/config, PREFIX/compiler

Mike Mattie reported some files installed by 'reallyinstall' which don't belong in the install image. He reported this in ticket [perl #41893].

[perl #41894] segfault happens when invoking poll op

Jim McKim created ticket [perl #41894] to report a segmentation fault.

[perl #41895] [TODO] Use Getopt for argument parsing in perlcritic.t

Paul Cochrane wanted to improve t/codingstd/perlcritic.t by using Getopt::Long instead of a non-standard argument parser. He stated this in ticket [perl #41895].

[perl #41896] [BUG] p5rx tests consuming infinite resources on win32

In ticket [perl #41896], Jerry Gay reported that in r17619 he cannot run make test due to failures in the p5rx tests. He suspected a string GC problem. chromatic thought this might explain the STM test failure as well. Jerry replied that STM tests are disabled on Windows so he cannot see if the problem is related. He committed a fix in r17649.

[perl #41897] [BUG]: Parrot::Pmc2c::STMRef gets 'subroutine prederef redefined' warning

James Keenan found that Devel::Cover sometimes reveals issues which don't appear with prove or make test. He reported a warning which he saw with Devel::Cover in ticket [perl #41897].

[perl #41898] Build error with icc

In ticket [perl #41898], Paul Cochrane reported a build error when trying to use icc.

[perl #41908] [PATCH] 5 feature enhancement of src/library.c (extension guessing), and solutions for the install target problems

Mike Mattie launched ticket [perl #41908] to offer a patch to enhance Parrot_locate_runtime_str. It introduced two new static functions. Mike went into some detail on his reasons behind the patch. It was applied as r17632.

There was some discussion of it in '[perl #41908] merging extension guessing feature for library.c'.

[RFC] solutions for maintaining the install target, will affect developers work-flow

Mike Mattie described some of the patches he has been writing (see [perl #41908] [PATCH] 5 feature enhancement of src/library.c (extension guessing), and solutions for the install target problems and [perl #41889] [PATCH] hoist cut and paste duplication into a function in src/library.c, also possible win32 bug found ? ). He asked for feedback before he moves further with the proposals he outlined in ticket [perl #41908].

Re: [PATCH] Quiet a few alignment warnings

Earlier, 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.

More recently, Andy Dougherty figured out part of the problem. Nicholas Clark and chromatic also discussed the issue further.

[perl #38969] [CAGE] parrot source does not conform to standards

In ticket [perl #38969], Paul Cochrane suggested removing tools/dev/check_source_standards.pl because the tests which were previously in the file had been moved to t/codingstd. Jerry Gay directed Paul to [perl #39824].

[perl #41912] [CAGE] survey tools/ dir for unused, old, or broken code, and remove or fix as necessary

Jerry Gay created ticket [perl #41912]. He proposed that scripts and utilities in tools/ be checked to see if they are still in use. James Keenan took a stab at this.

[perl #41915] [TODO] remove unused manifest-generating scripts

Jerry Gay named some broken and possibly unused scripts in tools/dev, many related to manifest generation. He wondered if one script could replace them. Paul Cochrane linked this ticket ([perl #41915]) to another ticket, [perl #40911].

Re: [perl #41201] [TODO] Remove temporary conf hack in Configure.pl

Earlier, In ticket [perl #41201], Paul Cochrane noted that there is a temporary
hack in Configure.pl which should be implemented properly.

Recently, James Keenan submitted a patch which attempts to address this.

[perl #41926] [PATCH] partial update of NEWS for 0.4.10

Jerry Gay submitted a partial update for NEWS for update 0.4.10 and asked someone to finish it. This was ticket [perl #41926].

[perl #41927] [PATCH] getting gen_manifest_skip() to return correct results quickly

Paul Cochrane submitted a patch in ticket [perl #41927] which he attributed to Jerry Gay, Will Coleda and himself. It makes gen_manifest_skip return a list of the ignore files.

Countdown to 0.4.11

Matt Diephouse created a list of tickets that he wanted to see resolved for release 0.4.11. As it just so happens, 0.4.11 was released the day this summary was completed, so this message is not worth summarizing.

[perl #41955] [PATCH] Yet Another PIR -- in C

Klaas-Jan Stol submitted a patch of an implementation of PIR in C in ticket [perl #41955]. His goal was to clean up PIR and to see if a rewrite would reduce the size.

Joshua Isom wondered what Klaas-Jan considered 'hackish' and how much more work he thought it would take to get the bytecode working. Klaas-Jan replied that he referred to the 'TODO', 'FIXME' and other comment scattered throughout the code and that he couldn't make an estimate on the bytecode although it probably wasn't trivial.

Allison Randal said that she was happy to see it in compilers/pir as an experiment in progress.

[perl #41956] [TODO] Rename PMETHOD and PMINVOKE

Jonathan Worthington reported in ticket [perl #41956] that it had been decided (in a discussion with Allison Randal) to rename PMETHOD and PMINVOKE to PCCMETHOD and PCCINVOKE. Kevin Tew wondered if PRETURN should become PCCRETURN. Jonathan Worthington said he'd already created a ticket for that, [perl #42001].

lang/pir tests fail

Klaas-Jan Stol reported this test failure, as well as some in languages/Pynie.

[PATCH] void functions can't return values.

Andy Dougherty submitted a patch because the documentation for Parrot_set_attrib_by_num suggests it returns a PMC pointer, but the source code doesn't actually return anything.

[PATCH] Avoid //-style comments.

Andy Dougherty submitted a patch to remove // style comments because some compilers don't understand them. Also, he thought it was a bad idea to comment out sections of code without explaining why they were commented out. H.Merijn Brand also expressed his distaste for this type of comment.

Matt Diephouse applied the patch in r17692. He said that there was a test for C++ style comments, but that it doesn't appear to check all generated code.

[PATCH] Hints must come early in Configure.pl

Andy Dougherty explained that hints need to come before inter/progs. He submitted a patch to correct this. James E Keenan reported that Will Coleda made the change Andy advised in r17671, which was basically reverting to r16268 from a change made in r16416. He linked to information about these previous commits.

chromatic wondered if there was some way that the problems James referenced (which were on his system) could be fixed in some other way. James and chromatic tried to resolve the issue. Andy added his two cents.

[PATCH] Suppress optimization on core_ops_cgp.c

Andy Dougherty reported that core_ops_cgp.c overwhelms his system and that he couldn't figure out a better way to solve it other than to turn off optimization. He supplied a patch for it.

[perl #41975] Makefile is missing dependencies on lib/Parrot/Pmc2c/PMETHODs.pm

In ticket [perl #41975], Andy Dougherty reported that he had to fix lib/Parrot/Pmc2c/PMETHODS.pm to get Parrot to compile, but that make didn't generate the required files after his fix.

make test hangs in t/examples/shootout_1.pir

Andy Dougherty reported that t/examples/shootout_1.pir was hanging when he tried to make test. It ran for 15 hours before he killed it.

[perl #42040] tools/dev/mk_manifest_and_skip.pl doesn't pick up files that are marked svn deleted but not yet committed

Kevin Tew noted that tools/dev/mk_manifest_and_skip.pl should remove files from the MANIFEST if they are scheduled for subversion deletion. This was ticket [perl #42040].

Compiler

Perl 6 Microgrants. Now accepting proposals.

Jesse Vincent announced the Perl 6 Microgrants program. Leon Brocard, representing the Perl Foundation's grants committee, will work with Jesse to select proposals for projects. Grants are for 500 USD. Proposals should be for projects which can be completed in 4-6 calendar weeks.

Tim Bunce suggested that someone could create a tool which could parse that Java files which define the JDBC API and generate Perl 6. He did not want to submit the proposal himself, but hoped someone would take it up. There were a few comments on this suggestion. Phil Crow had some interest in the idea.

cvs-parrot

[svn:parrot] r17623 - trunk

Paul Cochrane removed some code for MacOS Classic after few people showed interest in targeting this operating system. chromatic rightly noted that the code could be taken from subversion if it was needed at some point in the future.

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