This week on the Perl 6 mailing lists
"...problem 2 is probably just me being confused (though I'd love an explanation, from @leo ;-))."
-- Jonathan Worthington, in 'set_pmc_keyed_int delegates to set_pmc_keyed...?'
In this thread, TSa asked how an object could change its type without loosing
its identity. As an example, TSa suggested an
add_vertex method which
could be called on a polygon but not on a rectangle subtype of polygon.
Darren Duncan wondered why one would declare a type as a rectangle and then
mutate it so that it was no longer a rectangle. His opinion was that
add_vertex should be fatal for the rectangle; the user can explicitly
cast a rectangle into polygon first; or that the polygon class is immutable,
add_vertex method creates a new polygon.
Last week, Jonathan Worthington asked if he could change the behavior of ParrotObject instances, but later changed his mind because he thought the current system is being used in PGE. This week, Patrick R. Michaud responded that he couldn't think of anywhere PGE would be using this, and requested an example.
Earlier, Bob Rogers and Allison Randal had a discussion on how to change action invocations to remove the continuation barrier. It was decided that Bob's current approach wouldn't lead them in the desired direction. This week, Bob continued to elaborate on Error_handler, which he thought was worth keeping under the name of ExitContinuation.
Last week, Kevin Tew asked which flag he should use for
was some discussion on reusing flags, but tests were not successful.
This week, Leopold Toetsch replied that it clearly was not safe to
reuse compile-time flags, and made a list of requirements for flags
in general and Kevin's request in particular.
Earlier, Patrick R. Michaud reported that the new :vtable pragma didn't
work when used on methods of subclasses of core classes, and added a
test demonstrating this to
t/pmc/parrotobject.t. This was ticket
[perl #40626]. Jonathan Worthington thanked him for the test case
which enabled him to find the bug.
This week, Patrick replied that Jonathan may have already addressed an issue relating to saved properties of subroutines, but that he was providing another test class to show the item that was giving him difficulties.
Patrick R. Michaud had been working on the Capture PMC type and ran in
to a number of issues with subclassing, which he expressed in his post.
Leopold Toetsch replied that class inheritance from PMCs will hopefully
be improved with the
:vtable patches. Jonathan Worthington suggested
removing defaults from default.pmc and creating an extra attribute for
PMCs such as
auto_keyed which generates missing keyed methods. Nicholas
Clark was not satisfied with the proposed solution, which felt like
a hack to him.
Jonathan Worthington sent a patch which tries to address the root problem by searching vtables of parent classes. There were some problems with the patch, which led Jonathan to conclude that there's a real issue with a subclass always being an instance of ParrotClass PMC.
There was further discussion on possible solutions. Leopold Toetsch removed the default as r15111.
In ticket [perl #40686], Jerry Gay requested that someone update the CREDITS and NEWS files in preparation for the upcoming Parrot release.
Paul Cochrane included a patch on SVN usage tips for
doc/dev/wranglers.pod. He asked for any additional comments.
Bernhard Schmalhofer suggested that when a commit is associated with
a ticket, the ticket header can be used in the commit message.
Jerry Gay replied that he added some material and committed the patch,
which is r15225.
[perl #40696] [CAGE] t/doc/pod.t should report filenames upon failure, like coding standard tests do
In ticket [perl #40696], Jerry Gay reported that
test numbers rather than filenames when failing, which isn't very useful.
He wanted it changed to one test which reports filenames on failure.
In ticket [perl #40632], Jerry Gay included a list of failing tests. Will Coleda added his failures to the ticket. chromatic suggested working from the smoke server to collect and upload data.
Patrick R. Michaud gave some background in to the issue, explaining
how Parrot currently handles compilers, and what PDD21 has to say
on the subject. He was curious about how to conceptually model
compilers in Parrot. He favored a compiler with an object which has
compile method as a model.
Adriano Rodrigues asked if it would be possible to support both that and a subroutine-based system.
Patrick replied that it was, and both are possible within the existing current framework. Patrick was interested in which would be considered the standard.
In ticket [perl #40783], Paul Cochrane reported that
only searches for 'FIXME|XXX|TODO' and suggested that if there is an RT
ticket number associated with it, it should not be an error. Will
Coleda replied that it was fixed in r15324.
Paul Cochrane reported that he had taken all the warnings generated by 'TODO' items in the code and converted them to RT tickets. This had been requested in [perl #39704].
In ticket [perl #40788], Will Coleda noted a problem with interactive tclsh.
Will Coleda sent a patch to remove a function with hardcoded language names. This was in response to ticket [perl #40217].
Richard Hainsworth included some example code and committed a test to
t/perl5 which demonstrates the problem he is experiencing.
Audrey Tang announced that the Pugs repository has a new location:
Subversion users should switch their working copy with:
svn switch --relocate http://svn.openfoundry.org/pugs http://svn.pugscode.org/pugs
SVK users should use:
svk mirror --relocate //mirror/pugs http://svn.pugscode.org/pugs
Further information can be found in the original post.
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, firstname.lastname@example.org.
This summary can be found in the following places: