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