Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

kudra (4364)

kudra
  (email not shown publicly)

Journal of kudra (4364)

Tuesday July 28, 2009
05:48 AM

Research subjects wanted

As I mentioned in my last post (about a year ago!), I have gone back to school where I am studying for an MSc in International Business. I am now working on my thesis, which looks at free/libre and open source businesses. I am looking for people who are willing to participate in the research. Please refer to http://ann.barcomb.org for more details about the research. Feel free to pass this on/repost this--the more people that know about it the better chance I have of finding people to interview.
Wednesday June 25, 2008
09:34 PM

I am still alive

About a year ago, burned out from programming, I decided to go to grad school for an MBA. One very busy year into the programme, I decided it wasn't for me and dropped out. Right now I'm enjoying the weather, reading a lot, and trying to write some articles with one of the teachers at the school. In the autumn, I'm going to start a new master's programme (MSc in International Business with a focus on tech). After that I'll either look for work or pursue a PhD. I hope that the burnout will wear off soon, and I'll at least start pursuing personal coding projects. I'm going to try to stay off IRC though; it's time-consuming crack.
Sunday April 22, 2007
02:15 AM

Perl 6 summary, 08-14 Apr, 2007

This week on the Perl 6 mailing lists

"The current pugs implementation is just translating to the old form underneath, so it's not surprising it's a bit off. That's the sort of thing that happens when the language designer gives the language implementor whiplash. However, I rather suspect the interpersonal metaphorical meaning was lost on the physicist/comic who decided that the 3rd derivative of position should be called 'jerk'. :)"

-- Larry Wall, in 'What should file test operators return?'

Language

Re: Synopsis 26

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

This week, Damian responded by uploading Perl6::Perldoc to CPAN. Ævar and Damian worked to improve the test suite.

Does =$*ARGS work?

brian d foy is working on 'Learning Perl 6' and had some questions about for the I/O chapter. He saw that while(<>){...} became for=$*ARGS{...} but noted this didn't work in Pugs. He wondered if it was a documentation error or an implementation error.

Moritz Lenz mused about why it wasn't =@*ARGS but couldn't answer brian's question. brian replied that $*ARGS is a filehandle, not a list of files. David Vergin remarked that there was a typo in S28 and corrected it.

using <sp> space in character classes

Brad Bowman noted that S05 lists sp under named assertions but doesn't explicitly mention it in the character class section. He wondered if it could be used in that way. Larry Wall replied that it could be, but it needs to be generalized.

What should file test operators return?

brian d foy noted that file test operators return false or the filename, when he would have expected a true. He wanted to update S16 to clarify the situation. Later Larry Wall said he would attempt to clarify S03.

Moritz Lenz and Damian Conway had some suggestions for the syntax in brian's code. Juerd Waalboer and Larry Wall also joined the conversation on the subject of giving printf a boolean output template. They found it too specific.

Brandon S. Allbery noted that Pugs does not implemented the specification as it is documented. He thought junction types aren't completely ready.

John Macdonald and Mark J. Reed also contributed to the thread.

Parrot Porters

remove_method vtable?

Jonathan Worthington noted that PDD 15 describes both add and remove vtable methods for attributes, parents and roles, but only add_method exists for methods. He wondered if remove_method should also exist.

Allison Randal went ahead and added it, after a bit of internal debate.

[perl #42332] [TODO]: Eliminate t/tools/ops2pmutils/testlib/Capture.pm

Ticket [perl #42332], by James Keenan, asked for some subroutines to be moved into lib/Parrot. This was fixed in r18040.

[perl #42334] PGE compiler faults out "set_integer_keyed() not implemented in class 'Undef'"

In ticket [perl #42334], Jim McKim reported a fault when compiling an example grammar. Patrick R. Michaud replied that there was a problem with the cut operator not being applied to a particular term. He saw it as a request to improve the error message when a cut token is applied to a null term.

inspect and inspect_str from PIR

Jonathan Worthington reported that he had implemented the inspect_str and inspect vtable methods for the Class PMC. He had a question about the implementation. Allison Randal replied that she had added an opcode inspect and a method inspect on roles and classes to the PDD.

[perl #42336] segfault happens with 'parrot --pre-process-only'

Jim McKim reported a segmentation fault when Parrot is invoked with -E. This was ticket [perl #42336].

[perl #42337] [PATCH]: Configure.pl: Refactor list of steps into Parrot::Configure::Step::List

James Keenan created ticket [perl #42337] to paste a patch which moved some of Configure.pl's functionality (listing steps in the configuration process) to a module. This was applied as r18157 and r18158.

[perl #42339] [CAGE] Test Valid and Invalid Parrot Flags

chromatic reported that there are no tests for Parrot's response to invalid command-line arguments. He suggested adding some in ticket [perl #42339]. James Keenan said that he had recently added a test of this sort. chromatic clarified: he meant command-line arguments to the Parrot executable, not to Configure.pl.

[perl #42349] [TODO] dotnet - fix various ops for 64 bit architectures

Paul Cochrane made a note that some ops need to be fixed for 64-bit architectures in ticket [perl #42349].

[perl #42352] [TODO] fix or remove strange TODO item in hash() op

In ticket [perl #42352], Paul Cochrane noted that src/ops/pmc.ops has a todo item marked 'XXX' which lacks an explanation of what the problem is.

[perl #42359] [PATCH] Assorted cleanups - part III (Intel C++)

Steve Peters submitted a patch in ticket [perl #42359]. This cleans up some warnings when compiling Parrot with Intel C++. chromatic got some warnings when running the patch. He made some changes to the patch and sent it in. Steve said he would need to look into it further.

[perl #42360] [TODO]: Unit tests for Parrot::Revision

In ticket [perl #42360], James Keenan reported that lib/Parrot/Revision.pm has no unit tests.

[perl #42362] [TODO]: Unit tests for modules used during configuration

James Keenan indicated that there is a considerable amount of code in the config/ tree which isn't covered by tests. He requested some unit tests in ticket [perl #42362].

[perl #42371] [TODO] check if object.can(method) in callmethodcc() op

Paul Cochrane created ticket [perl #42371] for a todo item in src/ops/objects.ops. Jonathan Worthington thought that it was unnecessary and suggested removing the comment. Allison Randal agreed.

JSON won't make test

Klaas-Jan Stol submited a patch which alters json.in to make it pass nmake test. It was committed as r18063.

[perl #42383] [TODO] imcc - if frame->s.file was allocated free it

Paul Cochrane created a number of RT tickets based upon 'todo' messages in the code source:

Parrot Bug Summary

Jerry Gay remarked that the Parrot ticket queue is growing every week; there are currently more than 500 tickets, many of them unclassified by type. He asked for volunteers to help make the queue more manageable.

In another thread, which was part of ticket [perl #41858], Mark Glines said he had taken on the task of making a reasonable set of rules for splint. He ran into several problems. Paul Cochrane tried to answer the questions as best as he could.

The great "class" variable renaming

Steve Peters has had problems with the use of 'class' as a variable name in struct_vtable. This needs to change for his compatibility work to progress further. He suggested pmc_class as an alternative. Klaas-Jan Stol remarked that he thought the word namespace should also be used carefully.

Class/Role namespace links

Jonathan Worthington began working on the association between classes and namespaces specified in PDD15. He had some questions, which Allison Randal answered.

[perl #42406] [PATCH] improper null testing in Parrot_instantiate_object

Alek Storm reported in ticket [perl #42406] that he had a patch to fix a bug in which the init vtable method override is called instead of init_pmc. After one week he wondered why no action had been taken.

[svn:parrot-pdd] r18096 - trunk/docs/pdds

A commit by Allison Randal added opcodes and methods for 'inspect' to Objects PDD.

[perl #42407] [PATCH] refactor vtable overriding, delegate.c generation

In ticket [perl #42407], Alek Storm submitted a patch which refactors and optimizes methods involved in vtable overriding.

[perl #42411] [PARTIALPATCH] Building a 32bit parrot on freebsd under amd64 fails.

Joshua Isom created ticket [perl #42411] to submit a patch which allows Parrot to be configured for 32-bits on a 64-bit machine. This does not completely fix the problem.

[perl #42412] Configure.pl things =no is true

Joshua Isom thought that configure should treat --foo=no is false instead of true. He reported this in ticket [perl #42412].

Severe error

Christian Aperghis-Tramoni reported an error he saw when compiling Parrot on Linux.

call for help: pdd15 implementation

Jerry Gay highlighted the implementation of PDD 15 as a key goal for the 0.4.11 release (which has since taken place). He suggested that people could help by reviewing docs/code/tests.

modifying classes after they're instantiated

Allison Randal began by remarking that Jonathan Worthington had raised the question of the strategy for safely changing classes which already have instantiated objects. She offered a few alternatives. Both Leopold Toetsch and Allison thought her fourth suggestion was the best one. Alek Storm liked it too, but had another option.

There was some further discussion about the best implementation, with Bob Rogers also joining in.

[perl #42427] [CAGE] cleanup perlcritic errors

Jerry Gay noted that many tests fail in t/codingstd/perlcritic.t. In ticket [perl #42427] he expressed his hope that these things could be addressed before the next release.

[perl #42429] [BUG]: docs/submission.pod: Confusing use of term 'test'

James Keenan reported that he found instances of the word 'test' confusing in docs/submission.pod. He asked for clarification in ticket [perl #42429].

[perl #42430] [PATCH] make :vtable imply :method

Alek Storm created ticket [perl #42430]. This contained a patch which makes the :vtable sub pragma imply the :method pragma. What followed was a long discussion on why someone might want to set :vtable without setting :method. Alek, chromatic, and Allison Randal contributed to this deeply nested thread.

[ANNOUNCE] Hackathon Toronto, Saturday April 28

James Keenan announced a spur-of-the moment hackathon in Toronto. It was held on Saturday, April 28th.

[Proposed PATCH] Change libparrot Names and Locations

Ron Blaschke proposed a patch to change the libparrot names and locations for Windows, which he included in his message. Jerry Gay added his comments, and noted that it is nice if tests are included. There was some further discussion on how to improve the patch.

Limiting Exported Symbols on GCC

Ron Blaschke kicked off this thread by wondering if there was a feature to limit exported symbols with GCC. Steve Peters was concerned about adding GCC features to Parrot, as this could break compatibility with other compilers.

Nicholas Clark remarked that Perl 5 has been successful with using flag data in embed.fnc and generating annotated headers automatically. Jerry Gay agreed with Nicholas and suggested that if a function isn't meant for public consumption, it shouldn't be available. Joshua Isom suggested that people can use whatever functions they want, but if they aren't documented, they are likely to be broken in future releases.

Joshua Isom was concerned that it had been a long time since there had been failure-free smokes, and people were becoming accustomed to test failures.

Joshua Hoblitt and nahoo82 also contributed to the thread.

[perl #42474] [PATCH] Remove dangling enum commas

Steve Peters submitted a patch in ticket [perl #42474] which removes dangling commas in enum lists. It was applied as r18175.

[perl #42475] [PATCH] Change asm() to __asm__()

In ticket [perl #42475], Steve Peters supplied a patch to help Parrot compile with -ansi -pedantic. It was applied as r18176.

Bug Day: Saturday, 14 April 2007

Matt Diephouse announced that Saturday 14 April was a bug day to prepare for the 0.4.11 release. This release was made on 17 April.

[perl #41894] segfault happens when invoking poll op

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

Will Coleda offered a patch, which Nuno Carvalho applied. Jonathan Worthington reported that the patch broke the build for Win32. He committed a correction in r18187. Joshua Isom suggested an alternative way of addressing the problem.

Compiler

request for a few Pugs parser updates

Darren Duncan asked for a few features to be added to the Pugs parser. There were three requests in total, which Darren hoped could be easily implemented by the right people.

pugs: aborting smoke tests

Moritz Lenz reported being unable to do a make smoke for the last few weeks. Larry Wall thought that the problem looked like a resource exhaustion or lockup, possibly related to embedded/tunneled Perl 5. He asked for more output, which Moritz supplied. Agent Zhang pointed to a post by chromatic which he thought might relate to the solution.

interactive pugs fails in safe mode

Wim Vanderbauwhede reported failures with interactive Pugs when PUGS_SAFEMODE is true.

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

Saturday April 21, 2007
02:44 AM

Perl 6 summary, 01-07 Apr, 2007

This week on the Perl 6 mailing lists

"developers shouldn't live in fear of $^O"

-- Jerry Gay, in 'Use of English pragma'

Language

Second Perl 6 Microgrant - Phil Crow on Java to Perl 6 declaration converter

Leon Brocard announced that the second Perl 6 microgrant had been awarded to Phil Crow for his proposal to convert Java declarations to Perl 6. 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.

[S03] typo

Jonathan Lang submitted a patch which corrects a typo in S03.

[S03] Range Semantics

Jonathan Lang suggested a change to S03 which was inspired by the new array indexing syntax from S09. This would make Ranges in an array index a natural outgrowth of the standard Range semantics.

[S03] Negation metaoperator

Jonathan Lang had a proposal to generalize the negated relational operators to apply to any infix operator which returns a boolean. Larry Wall rejected the suggestion because the relationals Jonathan named are typed to return Any, not Bool.

Parrot Porters

[perl #39934] [PATCH] Make disassemble useful.

Kevin Tew created ticket [perl #39934] with a patch and requested feedback...back in July of 2006. Paul Cochrane applied it as r17922 on April 1st.

[perl #41774] [BUG]: Failures in 5 tests during 'make test'; partially patched

James Keenan created ticket [perl #41774] to report errors on 5 different tests. Later he closed the ticket because the failing tests were identified as part of ongoing work and the tests were no longer failing.

[perl #41860] [CAGE] Run Parrot under Coverity Prevent

Paul Cochrane wanted to get Coverity to run Prevent on Parrot. This was ticket [perl #41860].

More recently, Paul reported that he'd received a reply stating that Parrot could certainly be added, but that no date estimate was available at the moment.

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.

More recently, Alek replied that he thought that new should be kept an opcode, and new() should be a vtable method which is called from inside the new opcode. Jonathan Worthington was confused by Alek's proposal. He suggested making BaseClass implement all the vtable variants of a method, and Class can inherit from it and provide a sane interface. Alek thought that Jonathan's suggestion was similar to one he had made in [perl #41619] but that Jonathan's explanation was superior. Allison also added her thoughts to this subthread.

In the main thread, Jonathan proposed deprecating the old syntax in the next release and removing support for it in the following release. Allison agreed to marking it as deprecated now. Joshua Isom wanted the dot syntax to still work so that tests wouldn't need to be rewritten. Allison explained that there were several reasons to remove constants for types and the class registry.

compilers/pirc continued...

Klaas-Jan Stol added a vtable to the parser in compilers/pirc. He proposed looking at the bcg project to see if it would fit in with compilers/pirc. Allison Randal thought it was worth exploring.

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

A commit by Allison Randal integrated some questions and comments into the Objects PDD. Jonathan Worthington had a few comments, such as noting that resolve is sugar rather than something new, and that comments about offsets should go away. Allison noted that resolve is the preferred way of dealing with conflict resolution, and removed references to offsets.

[perl #42261] Extensive failures in t/compilers/imcc/imcpasm/*.t and t/pmc/sub.t

James Keenan posted some failures in make test in ticket [perl #42261]. Paul Cochrane reported that he was unable to replicate the failures with r17914 and asked James to check his revision. James looked into it further and concluded that the name of the sandbox was affecting the test results. He wondered if anyone could explain why that was happening.

[svn:parrot-pdd] r17921 - trunk/docs/pdds

A commit by Paul Cochrane noted that Perl code with __END__ or __DATA__ blocks should not get an emacs or vim coda. Shawn M Moore suggested putting the coda at the top of the file, but Paul explained that this had been attempted but proved to be a poor solution for several reasons.

[perl #42267] [CAGE] Work out how to encourage good editor-independent formatting habits

Paul Cochrane created ticket [perl #42267] with the mission "Figure out how to encourage good formatting habits, without assuming that everyone uses emacs or vim, and with minimal clutter in our source code. Also write a coding standards test to codify this."

[perl #39878] [CAGE] generated files with timezoneless times

In ticket [perl #39878], Will Coleda wanted tools which insert messages into generated files to include a timezone (which should always be UTC). Paul Cochrane said that generated files are checked for timestamps in codingstd/gmt_utc.t and that config/init/defaults.pm was updated in r17923 to pass the test.

[perl #40861] [CAGE] - add a Perl::Critic policy to look for FIXME|TODO|XXX

In ticket [perl #40861], Paul Cochrane suggested adding a check for 'FIXME'/'TODO'/etc for the Perl source files, as there is currently only a check for the C files. This was done in r17925.

Chris Dolan suggested using an existing Perl::Critic policy. Will Coleda asked if Andy Lester would accept a patch which would optionally permit 'TODO' comments which included ticket numbers and reject those which don't include ticket numbers? Andy replied that he didn't want to build exceptions, and proposed that people just write 'RT #12345' instead of 'TODO (#12345)'. Paul Cochrane agreed with this suggestion.

Link'n'Load on Windows

Ron Blaschke reported that he was looking into errors in linking and loading on Windows. With linking, there were some symbols which weren't exported. He planned to provide a patch to export them.

To solve the loading issue, he wanted to change several files to include the full path.

Current State of Building Parrot on Cygwin

Ron Blaschke reminded the list that it is necessary to include the absolute path to blib/lib in the PATH environment variable to build on Cygwin. He also explained that some problems could be due to a file having Windows line endings.

Eric Hanchrow wondered if it was possible to make Parrot less fussy about the line endings. Ron wanted to see that happen, but explained that his suggestions were workarounds until the problem was resolved. Steve Peters said he would be looking at how to improve the process.

Ron described his thoughts in more detail in 'Link'n'Load on Windows.' chromatic asked if it was possible to pass flags to the linker to hint at the path, which is how the Linux version works. Ron thought that was handy, but hadn't seen something similar for Windows.

[perl #42270] [PATCH]: Configure.pl: refactor options processing functionality

In ticket [perl #42270], James Keenan posted a patch which removes command-line option processing from Configure.pl and puts it in a library. This was done to make testing easier. The patch was applied as r17983 and 17984.

[perl #42271] [PATCH] Borland C++ cleanups

In ticket [perl #42271], Steve Peters submitted a patch which cleans up Parrot for Borland C++ on Windows. This patch does not completely solve compilation issues because it seems to create new issues on Linux. chromatic applied it as r18134.

Hash iteration question

Jonathan Worthington showed two examples of iterating through a hash, and noted that in his first example you will only get the first key in the hash. He believes that the hash and iterator code are closely tied and isn't thread safe.

Allison Randal replied that the significant differences are down to the iterator's shift_pmc throwing an exception if the key is -1, while shift_string doesn't check. She agreed that the code was excessively mixed and needed review. Leopold Toetsch added a further explanation on the implementation.

PDD15: newclass

Jonathan Worthington had a comment on PDD 15 and how it described the creation of a new class. He wondered about the implementation. Allison Randal replied that the newclass opcode will be a simple opcode. Jonathan implemented what Allison described and created a test for it as well.

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

In ticket [perl #42072], James Keenan noted that nobody had spoken up in favor of retaining the no-body option. He said that he would take the ticket and assign the revisions to participants of the Perl Seminar Phalanx Phoneix project in NY.

[perl #42279] [PATCH] Parrot cleanups - part 2

Steve Peters submitted a patch in ticket [perl #42279] which had some cleanups to make Parrot work better with different C compilers. It was applied as r17952.

Paper on Software Patterns in Parrot

Klaas-Jan Stol mentioned that he had recently taken a course on software patterns and co-authored a paper on patterns in Parrot, which he put on the wiki.

[perl #42286] [CAGE]: Parrot::Pmc2c::PCCMETHOD constants should be autogenerated

Jerry Gay noted that lib/Parrot/Pmc2c/PCCMETHOD.pm contains a number of constants, which should be generated during the configure process and included. Ticket [perl #42286] discusses this request.

[perl #42287] [TODO] MMD needs to be in a PDD

Jonathan Worthington wanted multi-method dispatch to be documented in one of the PDDs or get its own PDD. The request was made in ticket [perl #42287].

[perl #42292] [TODO] modify PCCMETHOD syntax to more closely match PDD03

In ticket [perl #42292], Jerry Gay requested that the PCCMETHOD syntax be modified to put it in line with PDD 03. chromatic offered a patch.

[svn ci] NCI methods now name-mangled

Jonathan Worthington explained that he was starting to move class functionality into vtable methods, but ran into the issue that you cannot have a METHOD or PCCMETHOD with the same name as a vtable method. This is, however, required to implement the interface specified in PDD 15. He made some changes to get Parrot working again, which affected the Complex PMC.

François PERRAD reported that this change breaks Lua. Allison Randal observed the same thing, and asked Jonathan to either fix the problem for Lua or revert the change from the trunk. Jonathan apologized for breaking things and said that it was fixed in r17982.

Leopold Toetsch suggested that perhaps language maintainers who are using "features" of Parrot could submit core tests for these features, so that this type of problem won't occur in the future. Joshua Isom thought this could be expanded to anyone using Parrot where a "feature" isn't tested. He proposed an open repository for tests. chromatic wondered if it was that difficult to mail in patches. Joshua offered some arguments in favor of it. chromatic

parrotcode updates.

Will Coleda solicited for suggestions concerning parrotcode.org because the current system requires that he do quite a bit of work every time that directories are moved or files are added. He proposed having a directory on the site which is a checked in version of the docs/html directory after a make html. He also suggested having docs for the latest release as well as for the 'svn head'.

[perl #42293] t/doc/pod.t vs. tools/doc/pod_errors.pl

In ticket [perl #42293], Will Coleda suggested removing the script tools/doc/pod_errors.pl because the functionality is already replicated in t/doc/pod.t. Also, the script finds errors which the test does not, which requires investigation.

Joshua Isom reported that he got a segmentation fault when he tried to run the script. When he persisted with running it, he found that it appeared to have a stricter POD checker. Jerry Gay thought that perhaps the script and the test were checking different files.

Paul Cochrane found that on Gentoo the t/codingstd/c_indent.t test caused Perl to segfault, but with a new Perl compilation it worked. He was curious because he wondered if the error was due to Gentoo Perl. Joshua replied that he was using Darwin.

Paul also remarked that the script reported where the errors were in the file, which the test didn't do. Jerry Gay and Nicholas Clark commented on this.

[Fwd: YAPC::Europe Call for Hackathons]

James E Keenan reposted a call for hackathons which was published for YAPC::Europe 2007. He felt that the Chicago Hackathon had been good for Parrot, and hoped that someone would lead a related Hackathon at Y::E. More information about the offer can be found on the Y::E website.

Re: [perl #42299] AutoReply: $P symbolic register allocation bug

Yehoshua Sapir remarked that the code in [perl #42299] worked on OS X.

[perl #42300] [PATCH] t/pmc/sub.t: test for creation of lex by clone op

Yehoshua Sapir submitted ticket [perl #42300] which contains a patch to test the creation of lex by the clone op.

[perl #42305] [PATCH]: Configure.pl: Move STDOUT messages to Parrot::Configure::Messages

James Keenan created ticket [perl #42305] to submit a patch which makes lib/Parrot/Configure/Messages.pm output messages to STDOUT (previously this was done by Configure.pl). This will make testing easier. It was applied as r18027.

[svn:parrot-pdd] r17987 - in trunk: . docs/pdds docs/pdds/draft

Allison Randal made a commit which moved PDD 15 (objects) out of the draft directory.

Use of English pragma

James E Keenan noted that Configure.pl uses one of the English variables, namely $OUTPUT_AUTOFLUSH. He wondered if there was a policy regarding the use of the named variables instead of their short versions. Jerry Gay felt that it was wrong to use the English variables.

James said he would convert the variable while refactoring. He created ticket [perl #42333] to remind him of this task. Later this was done and applied as r18033.

[svn ci] PMC documentation guidelines draft

Jerry Gay remarked that he had committed a draft of PMC documentation guidelines in r17998. The document is meant to explain the style of documentation which should be used for core PMCs. Klaas-Jan Stol had some additions, borrowed from 'Perl Best Practices'. Joshua Isom questioned Klaas-Jan on some of the points, and Klaas-Jan elaborated.

[perl #42312] src/pmc/os.pmc: bad use of stat(2) and lstat(2)

In ticket [perl #42312], the output of t/pmc/os.t which fails on Solaris 10 was attached.

[perl #42313] improper casting to void * in src/dynext.c

Ticket [perl #42313] contained a small patch to change load_func from a void pointer to NULL. Leopold Toetsch explained that the cast was being used. Nicholas Clark answered that the casting isn't allowed under strict ANSI C, but that he preferred assigning a plain 0 rather than a NULL.

[perl #42320] [BUG] Memory leak with String pmc

Mehmet Yavuz Selim Soyturk reported a memory leak in some example code. This was mentioned in ticket [perl #42320].

vtable cleanup and questions

Jonathan Worthington reported that he is adding the new vtable entries required for PDD 15. He wanted to know if become_parent could be removed, or if it needed a standard deprecation cycle. He also noted that the subclass vtable method needed to be removed, but that it was in use by ParrotClass and ParrotObject.

Jonathan also noticed PMC* new_singleton() and PMC* get_anonymous_subclass(), which don't appear to be used. He wondered if they should be removed. Finally, he wanted to know if get_attr and set_attr should be deprecated.

Nicholas Clark confirmed that become_parent isn't used anywhere. Will Coleda voted for a standard deprecation cycle. Allison Randal confirmed this.

She also agreed that the subclass vtable method won't be needed in the future, and that get_attr and set_attr could be deprecated when the full change to PDD 15 is complete. new_singleton() and get_anonymous_subclass() were described as "a case of being overly prepared for possible future needs."

Minor notes/suggestions on PDD15

Klaas-Jan Stol had some suggestions for PDD 15. He had some suggestions for improving consistency. Additional comments were on opportunities for syntactic sugar and a proposal that operators such as find_method have the option of throwing an exception rather than returning a NULL PMC on failure. Allison Randal remarked that the exception question was under consideration in I/O as well, and that the consistency issue would be considered when she looked at the Opcodes PDD. Joshua Isom had a few suggestions as well.

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

Thursday April 19, 2007
04:32 AM

Perl 6 summary, 25-31 Mar, 2007

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

Wednesday April 18, 2007
12:10 PM

Perl 6 summary, 18-24 Mar, 2007

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

Tuesday April 03, 2007
04:39 PM

Perl 6 summary, 11-17 Mar, 2007

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

Saturday March 31, 2007
09:02 AM

Perl 6 summary, 4-10 Mar, 2007

This week on the Perl 6 mailing lists

"Q: Can February March? A: No, but April May..."

-- Larry Wall's r14313 log message for a date correction

Language

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

David Green asked if the reason behind Larry Wall's decision not to have ranges automatically go in either direction is to prevent subtle bugs from creeping in. Nevertheless, he thought it would be useful to have a way to travel in the 'natural' direction, whichever direction that might be.

for ... else

Thomas Wittek recently encountered the Perl 5 module For::Else, which allows if (@lar) { foreach my $moose (@lar) { ... } } else { ...} to be written as foreach my $moose (@lar) { ... } else { ... }. He wondered if something similar could be added to Perl 6. Rick Delaney found the current syntax awkward, but wasn't certain that Thomas' solution was ideal, and Paul Seamons was of the same mind. Jonathan Lang liked the idea.

Steve Lukas was against the suggestion because he felt that idea contradicted the common meaning of else and would discourage people who are used to other languages.

Luke Palmer noted that it would confuse Python programmers, as the Python construct assumes that you are looping in order to find something. Larry Wall suggested using a gather to achieve this effect.

The discussion continued, for a total of 29 messages.

statement modifiers

Jonathan Lang noted that S02, S03, and S04 contain references to the deprecated concept statement_modifier. Larry Wall was aware of the problem, but was waiting for a few things to settle down before he corrected them.

Jonathan also asked why statement modifiers are explicitly forbidden to 'do' blocks, and if given is considered conditional or looping when it is used as a statement modifier. Larry replied that the ruling discourages people from violating the endweight principle. In answer to the second question, he said that given is considered to be a loop, and when is a conditional.

Compound grammar

Jonathan Lang wondered how to define a statement or operator with syntax like if ... else ... or ... ?? ... :: .... Larry Wall suggested reading the grammar POD.

resumable exceptions and LEAVE/KEEP/UNDO blocks

Daniel Hulme wanted to know what happens if a resumable exception is propagated through a block with a LEAVE, KEEP or UNDO block. Larry Wall thought that perhaps Daniel had missed part of the documentation which describes how a CATCH block works, and quoted the relevant section. Daniel agreed that he had overlooked it.

Coercion of non-numerics to numbers

Dave Whipp was curious about the semantics of coercion of non-numbers. In his experiments, he wondered if it was correct for a x42 to become 0.0 instead of NaN. Larry Wall felt that it should create a warning.

new Parrot project manager

Allison Randal announced that the Parrot project manager role will now be distinct from the Perl 6 project manager role. Will Coleda will be responsible for Parrot, and Jesse Vincent will continue as the project manager for Perl 6. Meanwhile, Chip Salzenberg is officially on sabbatical for a while.

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

A commit from Larry Wall made module longnames specified in terms of identification plus adverbs.

Smylers questioned the decision to put a range operator in parenthesis to match more than one version number. He thought it would be better to specify a minimum version and assume that later versions will also have the feature or bug fix, because otherwise systems may break due from new library installations. Larry explained that this would not be a problem because Perl 6 would keep old versions of modules in the library unless the new versions claim to emulate the old version.

David Green asked how this emulation would be expressed. He also wanted to know what would happen if you were installing for the first time: would you get all versions of the module? Larry replied that the emulation syntax was not yet specified.

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

In this revision, Larry Wall defined the library version sorting order. Geoffrey Broadwell suggested using the versioning system of Debian to test, because it has an unusual design.

Parrot Porters

Re: [perl #41195] [BUG]: Change to Configure.pl causing 'make' to fail on Darwin

Some time ago, in ticket [perl #41195], James Keenan produced a bug report. Will Coleda reported that he was unable to see the bug, and asked if reverting Configure.pl fixed the problem. James reported that with r17419, there were still some problems. Will remarked that he had reverted the order of the steps in Configure.pl to fix the problem.

[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.

This week, Jonathan Worthington made a few changes and committed it as r17514.

[perl #41455] [NEW] and [PATCH]: tools/build/ops2pm.pl refactored

In ticket [perl #41455], in February, James Keenan attached some new patches and files. Recently he decided to pull the patch from submission because some other changes have broken them.

[perl #41548] [Tcl] - internals tests failings

Earlier, Will Coleda created ticket [perl #41548] to report failing tests. Nuno Carvalho tested with r17365 and marked the ticket as closed because the issue appeared to be solved.

[perl #41583] Tail calls from within vtable methods broken

In ticket [perl #41583], Bram Geron reported a problem with tail calls in v-table methods. Recently, Alek Storm remarked that he had nearly completed a patch to fix it. Jonathan Worthington described the issue in more detail.

[perl #41602] [TODO] MS VS 2005 deprecates strdup

In ticket [perl #41602], Klaas-Jan Stol submitted a patch which fixes the problem of strdup being deprecated in Microsoft Visual Studio 2005. It was applied as of r17281.

Klaas-Jan also wondered if strdup should be used because of possible memory issues. Jonathan Worthington clarified that it was not a problem.

There was some further discussion about the best solution for the original problem, with Kevin Tew, Philip Taylor and Jerry Gay adding their thoughts.

[PATCH]: tools for using Subversion branches; ops2c.pl refactored

James Keenan submitted a patch which includes a refactoring of tools/build/ops2c.pl and files which argue for using more subversion branches. Sam Vilain wondered why the two changes were linked together and felt that the tracking method for branches didn't follow the best practices which have emerged through use.

James said that he had submitted the patches as one because he has been ill recently and wanted to complete the task quickly. He went into more detail about his reasons behind the subversion suggestions. Sam agreed with the goal of trying to get people to develop more in branches, but still disagreed with James. chromatic felt that experiments--such as James' ideas--are okay, because if they fail people will still learn something from it.

Later the patches were pulled from submission because some other changes in code meant that they were no longer passing tests.

AIX 5.3

Theodore Katseres reported success with building Parrot on AIX with GCC 4.0.0. Jerry Gay wanted to know if the test could be run more frequently, and reported in the smoke results.

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

A commit from Jonathan Worthington described the new class and object layout for objects. Subsequent commits from Allison Randal modified the document.

Parrot won't build on cygwin

Klaas-Jan Stol reported a problem with compiling Parrot on Cygwin.

[perl #41693] [PATCH] STM article reference corrected

Elizabeth Mattijsen pointed out a broken link and submitted a patch to correct it in [perl #41693]. It was committed.

Re: [perl #41695] [CAGE]: Refactor Parrot::Distribution

James Keenan created ticket [perl #41695] to log efforts to re-factor Parrot::Distribution. He included his notes from previous discussions on the topic.

[perl #41704] [BUG]: Test failures: t/pmc/object-mro.t t/pmc/timer.t

In ticket [perl #41704], James Keenan reported test failures with make test.

[perl #41707] [TODO] Tcl - relocate stub files

In ticket [perl #41707], Will Coleda described a task of moving some Tcl code to a new location. Nuno Carvalho made the changes in r17354.

[perl #41712] [TODO] deprecate CSub

Jerry Gay wanted CSub deprecated before the 0.4.10 release. Allison Randal agreed. This was handled in ticket [perl #41712].

[perl #41713] [PATCH] Updates for lang/PIR

In ticket [perl #41713], Klaas-Jan Stol attached a patch for lang/PIR which cleaned up the layout, changed some rules to tokens, added tests, and added rules.

[perl #41724] [BUG] miniparrot fails to build on strawberry perl

Jerry Gay reported a platform-specific issue with miniparrot in ticket [perl #41724]. Aldo Calpini tried it but got different warnings. chromatic replied that the configuration process assumes a tight connection between the operating system and compiler.

[perl #41726] [PATCH] make lua fail more gracefully with an exception handler

Julian Fondren submitted a patch in ticket [perl #41726]. The patch makes Lua generate .pir files which push an exception handler before evaluating code.

[perl #41732] [BUG] parrot objects segfault on improper invoke override

In ticket [perl #41732], Will Coleda reported a segmentation fault when invoke is improperly overridden.

Re: [perl #41733] invoke :vtable - execution stops

Richard reported a problem with the latest Parrot. He included some code demonstrating the issue in ticket [perl #41733]. Alek Storm pointed out that the invoke vtable method is meant to take one argument. He showed some example text.

Matt Diephouse saw a problem with Alek's approach and suggested an alternative. chromatic agreed with Matt, but then Matt came up with another solution, which was applied in r17385.

[perl #41738] languages/APL is broken

Bernhard Schmalhofer used ticket [perl #41738] to report that languages/APL fails smoke tests on all platforms. He suspected it hadn't been updated to the HLL refactoring in r16974.

[perl #41739] [PATCH]: add "clone" method for iterators

Eric Hanchrow submitted a patch in [perl #41739] which added a clone method for iterators. It was applied in r17411.

Parrot 0.4.10 (Coming Soon)

Will Coleda created a placeholder ticket [perl #41581] to mark the upcoming release of Parrot 0.4.10, expected in less than two weeks.

[perl #41743] [PATCH] Make all but (perl5|pugs|t) have a MAINTAINER

In ticket [perl #41743], Julian Fondren submitted a patch which added MAINTAINER files for parts of the languages tree which didn't have them.

PIR Tutorial

Klaas-Jan Stol remarked that he had started a PIR tutorial on the wiki, and invited people to help. Julian Fondren suggested several topics which hadn't yet been addressed. James E Keenan also offered a suggestion.

[perl #41746] [BUG] pdump doesn't build.

Will Coleda reported a bug with pdump in ticket [perl #41746].

C pmclass - parrot object inheritance, interaction vtables/methods/object identities

Mehmet Yavuz Selim Soyturk is implementing ECMAscript and ran into problems. The question was if get_pmc is an appropriate solution for the problem, or if there is a better way to handle it.

[perl #41749] [TODO] deprecate substr_r op

In ticket [perl #41749], Jerry Gay suggested deprecating substr_r. Leopold Toetsch asked if it could remain an experimental operator until the string issues are resolved. Allison Randal said to move it to experimental.ops and note it in DEPRECATED.pod.

[perl #41569] t/distro/file_metadata.t fails on win32

Ron Blaschke asked what result he could expect from t/distro/file_metadata.pl as of r17389. In ticket [perl #41569] he showed what he was seeing on a Windows system. Will Coleda thought that the second test should be passing as of r17398, and that the first two ought to pass. Ron submitted a patch to make the test work on Windows, which was applied in r17406.

chromatic wondered if it would be better to use File::Spec, as the problem involved / versus \. Ron elaborated that the problem is that the MANIFEST doesn't match the output from svn.

[perl #25253] [PATCH] Remove Parrot_INTERP

In ticket [perl #25253], Jerry Gay asked chromatic to look at removing Parrot_INTERP.

[perl #41750] [PATCH] Pynie updates

In ticket [perl #41750], Klaas-Jan Stol submitted a patch for Pynie, which was applied. This patch fixed the rule for floating points, among other things.

[perl #41753] [CAGE] better document and test PMETHOD and PMINVOKE

Jerry Gay wanted documentation for the C-level support for Parrot calling conventions which was recently added. He made this remark in ticket [perl #41753].

Glossary is missing from parrotcode.org

Will Coleda created ticket [perl #41768] to store Klaas-Jan Stol's comment that the glossary page should output to the website.

Q: Should Op names be allowed to be identifiers.

Klaas-Jan Stol noted that it is permitted to use ops as names for variables in PIR, but if you tried to increment the resulting variable, it will not compile. He suggested disallowing using opnames in this way.

[perl #41760] [PATCH] lang/pynie some bin.ops

In ticket [perl #41760], Klaas-Jan Stol submitted another Pynie patch. It was applied as r17407.

[perl #41762] [PATCH] Languages/Pynie functions!

The patch in ticket [perl #41762], by Klaas-Jan Stol, implements basic function calling in Pynie.

[perl #41763] [PATCH]: fix "clone" method for iterators

In ticket [perl #41763], Eric Hanchrow submitted a patch for iterator cloning. It was applied, with minor changes, in r17691.

[PATCH 0/6] A round of updates to Test::More

Sam Vilain submitted a patch to extend the Test/More.pir library.

perl5-porters

lexical subs

H.Merijn Brand kicked off a very large thread (53 messages in total) by requesting lexical subroutines. Although the message was posted to the Perl 5 porter's list, it involved Perl 6 and appears to have been cross-posted.

Dr. Ruud was in favour of the idea, as was Paul Johnson. Tels didn't like having two subroutines of the same name, and suggested an anonymous subroutine with a variable referencing it. The concern was that it would be hard for a human to know which subroutine was called without checking the lexical scope. David Nicol also considered it unnecessary. Johan Vromans found it no more confusing than a lexical variable. Abigail agreed with Johan. Michael Schwern felt that it was in fact less confusing, as in his experience, Perl trainers are often faced with the question "how do I declare a lexical subroutine?"

Demerphq noted that it is difficult to do a recursive subroutine with lexically scoped references to anonymous subroutines and avoid memory leaks. Aaron Crane pointed out that a subroutine with a fully-lexical name wouldn't be mistaken for a method.

Mark Jason Dominus didn't care one way or the other about lexical subroutines, but wanted to add a number of test cases to define the feature if it is added. His example test case generated some discussion. Larry Wall invited anyone to translate the test cases to Perl 6 and install them in the Pugs test repository, as Pugs should already handle lexically scoped subroutines.

There was some question of whether lexical subroutines exist in Perl 5 bleed. Rafael Garcia-Suarez, Abigail, and Jan Dubois contributed information. It appears that they were in to the 'todo' list for 5.6.1, but haven't been implemented. Juerd Waalboer wanted Perl 6 to conform to Perl 5's implementation, or vice versa.

Meanwhile, Wolfgang Laun wondered if Perl would incorporate any sort of information hiding, which Rafael summed up as "a whole can of worms."

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

Wednesday March 21, 2007
02:57 PM

Perl 6 summary, 25 Feb - 3 Mar, 2007

This week on the Perl 6 mailing lists

"It seems you are presuming a Waterfall model of development here. We're not doing the Waterfall, we're doing the Whirlpool, where the strange attractor whirls around with feedback at many levels but eventually converges on something in the middle. In other words, a whirlpool sucks, but the trick is to position your whirlpool over your intended destination, and you'll eventually get there, though perhaps a bit dizzier than you'd like."

-- Larry Wall, in 'What criteria mark the closure of perl6 specification'

Language

[S09] "Whatever" indices and shaped arrays

Jonathan Lang suggested dropping some specification from S09 which described how * works in conjunction with + and -. He suggested using [0] for the first index instead of *+0. Larry Wall added his thoughts, noting that it was 'shiny', but that nested []s might not be visually appealing.

Luke Palmer decided to mention Ruby's boolean truth model which he admires. With it, 'nil' and 'false' are false, and everything else--including an empty string and '0'--are true. In summary he stated that simple rules are a blessing if you find the right ones, and that he's a fan of boolean predictability.

The shaped arrays thread continued, and eventually Larry was satisfied and requested a patch to S09.

What criteria mark the closure of perl6 specification

Richard Hainsworth asked when the Perl 6 specification will be complete. He is eager to begin using Perl 6, but wants to see it stabilize. Geoffrey Broadwell was perfectly willing to work with a moving specification, so long as the current version of the specification was mostly implemented. chromatic noted that this is what everyone wants.

Geoffrey offered to write some tests which would demonstrate missing features, if someone could implement the features. Gabor Szabo said that he wished there were many people writing tests for unimplemented features, as someone would surely implement the feature to make tests pass.

There was a discussion on how out-of-date the Exegesis files are. Masak suggested porting the code examples in the Exegesis to current Perl 6, and storing them in the Pugs repository. Herbert Breunung thought a disclaimer that they are outdated would be adequate.

Patrick Michaud noted that the changes to the specification have not had a negative impact on the development of the Perl 6 on Parrot implementation; to the contrary, they have made the work easier.

Smylers added that there is no point in freezing the specification if it turns out it can't be implemented. Smylers felt that most of the current work is clarifying, rather than adding new features.

Larry Wall explained that Perl 6 development doesn't follow the Waterfall model. He cannot design something without feedback from implementors. The development model was described as a 'whirlpool'.

Packed array status?

Geoffrey Broadwell wanted to know what backends support packed native arrays. He also added a comment on 'What criteria mark the closure of perl6 specification'.

chromatic replied that Parrot has ManagedStruct and UnManagedStruct PMCs for mapping complex C structures. Patrick Michaud replied that the PIR libraries aren't working yet, but that implementing them should not be too difficult. Audrey Tang also described the situation in Pugs. Geoffrey wondered if he could follow the development status. He offered to write some tests.

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

Larry Wall's commit made the one-pass parsing rule explicit so that tests can reference it.

request new Mapping|Hash operators

Darren Duncan believes that there is room for some additional convenience operators or functions which are used with mapping and hash values. In particular, he would like the relational data model concept of a tuple. He feels that this could be satisfied with the data types Mapping and Hash with the addition of some common relational operators such as join(), semijoin(), semidifference(), rename(), project(), remove(), compose(), wrap(), and unwrap().

Nicholas Clark noted that rename is a Perl 5 builtin, which he doesn't believe has been dropped for Perl 6. Smylers added that Perl already has a join function for renaming strings. Darren reiterated that he isn't concerned with the names so much as the concepts they express.

Aaron Crane wondered why Darren was specifically against putting this functionality into a third-party module. Darren supplied an argument for the usefulness of relational operators in response. Smylers pointed out that it would be odd to include core support for database operations when most people would opt to use DBI (a module) instead. David Green wasn't concerned about whether the features were core or in a module, but thought it would be nice to have them.

There was some discussion on whether certain features, such as renaming hash keys, are implemented in Perl 5, with David Green, Darren Duncan, Aaron Crane and Uri Guttman taking part.

request: num16

Geoffrey Broadwell requested that num16 and complex16 be added to S09 and made optional. These half-sized floating point types are commonly used in graphics.

Bit shifts on low-level types

Geoffrey Broadwell asked how bitwise shifts are defined on low-level types. Smylers remarked that it is rare to deal with anything as low-level as bits in Perl 5 programming. He feared that introducing more operators into the core language, especially if they would be rarely used, raises the entry barrier.

Nicholas Clark added that it's something you don't want to do in Perl 5, because it is so bad at it.

Rotation ops?

Geoffrey Broadwell asked if Perl 6 has bit/string rotation operators.

Low-level types and over/underflow

Geoffrey Broadwell wanted to know what would happen if a low-level type underflows or overflows. For example, if you incremented a uint8 past 255, what would be the result?

Darren Duncan thought that it depended upon what the underlying hardware does. He suspected it would be a wraparound or an overflow, not a type upgrade.

Casting and low-level types

In this thread, Geoffrey Broadwell asked what happens when you cast between low-level types if the source value is out of range for the destination type. Larry Wall replied that it would be an warning if the destination is an int, and a clip to infinities when the destination is a num.

Compact structs and "byte-stringification"

Geoffrey Broadwell wanted to know how you specify that you want to byte-stringify a structure, rather than normally stringifying it. Larry Wall advised coercing to a buffer type rather than using ~.

Expressions with mixed types including low-level types

Geoffrey Broadwell asked how casting and coercion are handled with expressions which involve mixing low- and high-level types. Larry Wall answered the question, and pointed to a recent update of S09.

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

Larry Wall made a commit to S03 which distinguished Range's intervalic .min and .max from its directed .from and .to.

Parrot Porters

[perl #41601] [BUG] parrotbug b0rken

In ticket [perl #41601], Klaas-Jan Stol reported a problem with Parrotbug on Win32. Paul Cochrane thought that the problem existed on all platforms. Because people are currently advised to send an email, Paul thought that Parrotbug is confusing and should perhaps be removed.

Jerome Quelin remarked that he has no time to work on Parrotbug, which he originally created. He said that anyone willing to work on it was welcome to take over maintenance.

[perl #41604] [BUG] pbc_output_is doesn't work?

Klaas-Jan Stol tried to add a test which runs some PIR code as PBC. He noted that a PBC file wasn't being created, and sent a patch which could fix this to ticket [perl #41604]. He also wondered if it was a good idea to store PBC files in the repository.

Leopold Toetsch explained that the files which are in the repository are generated on different machines, and the tests check that Parrot can read PBCs from different platforms.

Klaas-Jan wondered if pbc_output_is could take PIR code and compile it while running a test, or if it expects the PBC file to be present. Leopold confirmed that the PBC file must be present.

Jerry Gay noted that there are no test functions which accept PIR, compile to PBC, and run the PBC. He wasn't sure it was a good idea to add this functionality before the refactoring of Parrot::Test is complete.

[perl #41606] [TODO] Add flag to do runtime check on deprecated ops

In ticket [perl #41606], Klaas-Jan Stol proposed adding a flag which checks at runtime if any deprecated ops are used.

Later, he remarked that such a check would be rather slow, so it would be better to add some annotation in the .ops file.

[PATCH] Update DEPRECATED.pod

Klaas-Jan Stol submitted a patch to DEPRECATED.pod which includes some of the deprecated ops. Allison Randal applied it as r17206.

[perl #41608] [NEW] and [PATCH]: tools/build/ops2c.pl refactored

James Keenan submitted two patches which replace his earlier patches by the same name. This was ticket [perl #41608].

[perl #41612] parrot on CPAN testers..

Will Coleda created ticket [perl #41612] because he noticed that Parrot hadn't passed on Windows since 0.4.6. chromatic thought that 0.4.9 would help resolve some of the recent failures. Patrick R. Michaud had seen a report of 0.4.9, and said there were still failures with positive and negative numbers very close to zero.

[perl #41614] Can't set non-core object attribs yet

In ticket [perl #41614], Will Coleda reported some problems with adding an attribute to a TclProc PMC. Alek Storm remarked that a Sub is not a ParrotObject, so it has nowhere to store attributes. He submitted a patch which implements a basic storage system for TclProc. Will commented that it was annoying that attributes aren't just available everywhere, and that ParrotClass and PMC don't have much in common.

[PATCH] welcome message and prompt for HLLCompiler

Klaas-Jan Stol noted that most languages which can be run interactively print a welcome message. He submitted a patch to give a message when interactive mode is entered, before printing a prompt.

Patrick R. Michaud thought the effort was useful, but that it shouldn't mention help which isn't available. Also, there was a bit of a problem with multi-line input.

There was a bit of further discussion on the topic.

[perl #41619] [PATCH] add add_attr, rem_attr, and rem_attr_str vtable methods

In ticket [perl #41619], Alek Storm submitted a patch which adds several vtable methods which can be used by Ruby and Smalltalk. James E Keenan reported that the patch, when applied to the branch, did not cause any problems with tests.

Allison Randal thought this raised a design issue. She wanted to know why add_attr, rem_attr and rem_attr_str were vtable methods instead of methods on the Class class. Alek thought that this was in line with PDD 15. Joshua Isom was concerned about interoperability, and wondered if Perl 6 and Tcl (for example) would be able to use the new class implementation.

Alek replied that the vtable provides an abstract interface everyone can use seamlessly. He thought that it would in fact encourage people to use multiple languages in a single application.

chromatic asked Alek to clarify what behavior he wanted to enable in the HLL. Alek said he would put together some code which would demonstrate his intention. As of March 12th, he was still working on the use case.

[perl #41620] [PATCH] change opcode syntax for label arguments

In ticket [perl #41620], Alek Storm included a patch which changes the label INT, labelvar INT and labelconst INT syntax to in LABEL, invar LABEL and inconst LABEL. This reduces the number of arguments and makes the code cleaner. It was applied to the buildtools branch, and all tests passed.

[PATCH] PDD6 updates

Klaas-Jan Stol made some changes to PDD 16 and posted a patch. chromatic was mostly satisfied with the patch. It was applied as r17209.

[perl #41623] [TODO] modify p6regex op naming convention to match perl 6

In ticket [perl #41623], Jerry Gay remarked that PGE's syntax for specifying ops in the precedence parser should follow the Perl 6 specification. Patrick R. Michaud noted that Larry Wall's recent work on the grammar may introduce some radical changes to the current syntax. Larry tried to explain what he hopes to do with the modifications.

Pynie Grammar

In several threads, Klaas-Jan Stol chronicled his attempts to update the grammar for Pynie. He remarked that it is mostly complete, but that he still has some difficulty with the binary operators "is not" and "not in" and asked for insight.

The following messages charted the development: * [PATCH] Pynie updates * [PATCH] languages/Pynie * [PATCH] Complete Pynie Grammar * [Pynie] Grammar mostly done, but help needed * [perl #41659] [PATCH] Updates for languages/pynie

reviewing PDD01 - Overview

Allison Randal announced that she had checked in an updated version of PDD01 for review.

[perl #41633] [CAGE] convert handrolled .IMPORT macros with library function

In ticket [perl #41633], Jerry Gay noted that some handrolled implementations of namespace import macros had crept in to the code. He wrote an import subroutine, and would like it to be used.

[perl #41634] [TODO] warn and abort make if pbc compatibility has changed

Jerry Gay felt that if PBCs need to be regenerated due to incompatibilities, make should inform the user of this. He created ticket [perl #41634] to track this development.

[perl #41636] [PATCH] Updates for PDD06

Klaas-Jan Stol attached a patch for PDD06 to ticket [perl #41636]. It was applied in r17469.

[perl #41637] [PATCH] SMOP; won't compile on MSVC due to declarations not at top of block

In ticket [perl #41637], Klaas-Jan Stol reported that SMOP won't compile with MicroSoft Visual Studio.

[perl #41642] [BUG] tailcall with slurpy gives segfault

Earlier, in ticket [perl #41642], Mehmet Yavuz Selim Soyturk reported a bug.

This week, Jonathan Worthington reported that he had fixed a bug asked someone to check with the latest code. Bob Rogers reported that Mehmet's test case works in r17298, but that it still fails for him even when the patch is applied.

Later, Bob was able to look into the issue further, and found that there are some more serious problems and that he needs to think on how to solve them.

[perl #41658] [TODO] Move all gc source files into a separate directory

Joshua Isom created ticket [perl #41658] to suggest a cleanup of the garbage collection files, which are not located where one would expect to find them. He submitted a patch for it.

Compiler

[perl #41617] "make test-pir" fails on x86 linux, r14402

Eric Hanchrow reported a failing test in ticket [perl #41617]. Audrey Tang wanted to know if the problem still existed in r15386; Eric confirmed it did.

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

Sunday March 04, 2007
12:38 PM

Perl 6 summary, 18-24 Feb, 2007

This week on the Perl 6 mailing lists

"'Course, if someone goes ahead and adds the Y combinator, one must naturally begin to wonder what the YY combinator would be... :-) "

-- Larry Wall

"Obviously it generates a function so anonymous that it can't even refer to itself. I call it the depressed existentialist solipsist operator."

-- chromatic, in 'Y not'

Language

Y not

Larry Wall announced the demise of ¥, which was not much lamented. Thomas Wittek suggested calling it zip and there was some discussion of whether it is better to use terms like minmax and zip, or to use symbols like MM and ZZ. Several jokes were made along the way.

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

A commit by Larry Wall replaced ¥ is replaced by Z. There was also a change with the XX operator, which became X.

Relief for rw/ro

Steve Lukas remarked that Larry Wall had asked for ideas about good names for various states of write access. He offered a proposal which involves indicating that the writeability can be described as variable, constant, or final. Dr. Ruud added a brief comment about the length of the term variable, which he didn't find to be too long.

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

A commit from Larry Wall clarified that a named argument may name either a label or a variable.

Blair Sutton asked if the synopsis repository is publicly available, and if it is part of the Parrot or Pugs repository. The URL of the repository was posted.

Parrot Porters

[perl #29994] [BUG] "loadlib $P0, varname" not working correctly

Some time ago, in ticket [perl #29994], Jens Rieks reported an error in imcc/parser_util.c. Klaas-Jan Stol updated the ticket and noted that the loadlib op works on windows. However, another error was found: when loading a non-existent library, no exception is raised.

[perl #41235] [PATCH] Add get_name() Method to Namespaces

Earlier, chromatic created a patch for get_name, which Jerry Gay forwarded to RT to create ticket [perl #41235]. Jerry wanted to apply the patch before 0.4.8, but chromatic said that he had been waiting because Allison Randal wanted a deprecation cycle for the rename of name() to get_name(). Allison replied that she had made a note that it was deprecated (r17030) and said that the patch could be applied after the release.

[perl #41237] [TODO] PMC Class name IDs will require a dot in front

Klaas-Jan Stol reminded people that an issue had not been decided.

Earlier, Jerry Gay created ticket [perl #41237] to address an item in DEPRECATED.pod about PMC Class name IDs. He felt that either it should use one syntax or the other, but not both.

Allison Randal preferred eliminating the dot in classname IDs. Matt Diephouse, on the other hand, liked the dot. Klaas-Jan Stol added that the dot indicates that it is PIR not pure PASM.

Allison thought that if Matt used it to disambiguate between types and local variables, it was a matter of sigils. She asked why put sigils on types instead of putting them in variables, and if a dot was the ideal sigil for types.

[perl #41529] [BUG]: t/perl/Parrot_Distribution.t test failure

In ticket [perl #41529], James Keenan reported that there was a new failure in Parrot_Distribution.t. Jerry Gay explained that the test exposes a bug in Parrot::Distribution, which classifies files as Perl even when they are not. He noted that failing tests had been used as a reminder of things which needed to be fixed, and this was still used to some extent, although there was a movement towards RT.

The problem was resolved in r17069.

There was some discussion about the difficulty of identifying the problem. Jerry Gay mentioned that he was working on refactoring Parrot::Distribution.

in PIR, a BigInt is turning into a string against my will -- what am I doing wrong?

Eric Hanchrow reported a problem in r16999. Patrick R. Michaud offered some suggestions for correcting the code in question.

[PATCH] #39615: [TODO] get_outer op not defined in PDDs

Klaas-Jan Stol submitted a patch which adds the description of get_outer() to PDD20.

[PATCH] updates for docs/faq.pod

Klaas-Jan Stol made some updates to faq.pod which related to ticket [perl #41312].

:anon flag bug?

Klaas-Jan Stol had a question relating to a fix for [perl #39196]. An anonymous subroutine was unexpectedly being found, and he wondered if that was a bug.

[PATCH] retry pir/pasm updates for lang/pir

Klaas-Jan Stol submitted a patch to replace his earlier one.

[PATCH] lang/PIR updates

A patch by Klaas-Jan Stol made some corrections to languages/PIR.

[perl #41538] readline kills parrot on files missing a final newline

In ticket [perl #41538], Joshua Isom described a problem which could be replicated by creating a small file without a newline at the end. chromatic applied it in r17103.

Q on: #37542: [TODO] core - document behavior of multiple :load subpragmas in same compilation unit

Klaas-Jan Stol responded to ticket [perl #37542] which he claimed stated that the behavior of multiple subroutines marked with the :load subpragma in the same compilation unit is undefined. However, Klaas-Jan pointed out that it is defined and wondered if the ticket could be closed.

Patrick R. Michaud agreed with closing the ticket. Will Coleda explained how Klaas-Jan could update the ticket directly.

Preening the parrot for show

Nicholas Clark suggested that release versions of Parrot should have debugging flags off so that it will benchmark nicely. This came from a public discussion of the speed of the Ruby implementation.

Tewk noted that the numbers generated by Cardinal are probably incorrect because the current implementation is very minimal.

Joshua Isom wondered if it was best for the default core to be the slow core. Although this makes testing easier, it gives misleading benchmarks.

[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.

[perl #41548] [Tcl] - internals tests failings

Will Coleda reported a failing test in [perl #41548].

[perl #41549] [PATCH] fixes :vtable pragma for .pbc files

In ticket [perl #41549], Alek Storm submitted a patch in response to [perl #40626] and [perl #41364]. Jonathan Worthington planned to commit it.

Deprecated ops: emit warning?

Klaas-Jan Stol noted that there are some operations which have been deprecated but which have not been listed in DEPRECATED.pod. He suggested adding a check which will emit a warning if an operator is deprecated.

[PATCH] languages/lua lua.pg Grammar fixes

Klaas-Jan Stol submitted a patch for the Lua grammar file.

Cross-compiling Parrot

Aldo Calpini resurrected comments from Dan Sugalski in 2004 which dealt with cross-compiling. In order to submit patches which do not break the existing code, he asked some questions about how people are using cross-compilation at the moment.

Jerry Gay wanted to see some development in this field, and suggested an approach based upon test-driven development for configuration system changes. Joshua Isom remarked that Perl 5's configure is somewhat limited, and Perl 5 may not always be available. While Aldo agreed that Perl 5's configure is a bad way to go, he didn't see anything wrong with using Perl 5 as the tool to build. Allison Randal also indicated that reliance on Perl 5's configure would be a problem. She proposed that Aldo start with a proposal and patches.

chromatic remarked that it would be nice to be able to put data files somewhere and have configure read those instead of probing the system.

[perl #41557] [BUG] addparent established hierarchies don't work with .Super

Sam Vilain reported problems with inheritance which can result in the exception 'object has no parent'. Tests were added in r17031 to demonstrate the issue. This problem was explained in ticket [perl #41557].

[perl #41558] [PATCH] Add ops summary doc generator

In ticket [perl #41558], Shawn M Moore submitted a patch which adds a new utility script to create a summary of all the operators.

[perl #39196] [TODO] tests - need to test addmethod

In ticket [perl #39196], Klaas-Jan Stol submitted a patch which adds a test for addmethod.

[perl #41569] [BUG] t/distro/file_metadata.t fails on win32

In ticket [perl #41569], Jerry Gay indicated a problem with a test which fails on Win32.

Preliminary notes for 0.4.9 release

In preparation for the 0.4.9 release, Patrick R. Michaud asked some questions of people who have previously worked on release management. Allison Randal, chromatic and Nuno Carvalho replied.

[perl #41576] [BUG] t/pmc/pmethod_test.t fails on x86_64

In ticket [perl #41576], Patrick R . Michaud reported a failure with t/pmc/pmethod_test.t.

[perl #38983] [PDD] review PDD01_overview.pod

Patrick R. Michaud reported in ticket [perl #38983] that he had changed the roadmap to refer to PDD01 instead of the 'PLATFORMS' file which doesn't exist. However, PDD01 is still in draft status, so Patrick asked if it can be approved.

[perl #41577] docs/ROADMAP.pod refers to python bytecode translator, pie-thon test suite

Patrick R . Michaud reported in ticket [perl #41577] that there are some points in the roadmap which may no longer be relevant. Allison Randal fixed them in r17210.

[perl #41579] [BUG] t/pmc/ref.t, t/pmc/threads.t file with -C runcore

In ticket [perl #41579], Patrick R . Michaud reported two failing tests. chromatic confirmed that this was not restricted to x86_64.

[perl #41583] Tail calls from within vtable methods broken

Bram Geron reported that tail calls within v-table methods are broken. Ticket [perl #41583] tracks this bug.

[perl #41584] [TODO] Update RELEASE_INSTRUCTIONS with details for updating the website

In ticket [perl #41584], Patrick R . Michaud noted that the release instructions should include a reminder to update the website.

[PATCH] PDD16 NCI update with simple example

Klaas-Jan Stol submitted a patch which contains a simple example which can be added to PDD16. chromatic applied it in r17164.

[perl #41455] [NEW] and [PATCH]: tools/build/ops2pm.pl refactored

Earlier, James Keenan noted that he had some new patches for tests. They were added in r17061. The patches can be seen in [perl #41455].

[perl #41597] [PATCH] replacing explicit access to $^O in Configure

Aldo Calpini submitted a patch to ticket [perl #41597]. This patch adds an 'osname' key to Parrot's configuration data, which is used in the configure process.

Compiler

Parrot 0.4.9 released!

Patrick R. Michaud announced the release of Parrot 0.4.9, "Socorro".

cvs-parrot

[svn:parrot] r17107 - trunk/src/stm

chromatic objected to a patch which removed access to a null pointer in stm/backend.c. He thought that the best solution would be to have the PMC init() throw an exception.

Allison Randal thought that it made sense to return with no action. reply_extracted already has the same check, and mark_extracted should have the check added. Jerry Gay added it in r17159.

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