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...?'
Language
how to change the type of objects
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,
and the add_vertex
method creates a new polygon.
Parrot Porters
Anyone relying on objects stringifying to class names?
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.
:init Where should we put the flag?
Last week, Kevin Tew asked which flag he should use for :init
. There
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.
[perl #40626] [BUG] :vtable fails for subclasses of core classes
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.
set_pmc_keyed_int delegates to set_pmc_keyed...?
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.
TODO] release prep: update CREDITS and NEWS
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 t/doc/pod.t
gives
test numbers rather than filenames when failing, which isn't very useful.
He wanted it changed to one test which reports filenames on failure.
[perl #40632] [TODO] classify failing tests for next release
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.
How do I associate methods with a compiler?
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
a 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.
[perl #40783] [CAGE] get fixme.t to check for an RT ticket number after TODO items
In ticket [perl #40783], Paul Cochrane reported that t/codingstd/fixme.t
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.
[perl #39704] [CAGE] Tcl - Convert TODO/XXX comments to RT tickets
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].
[perl #40788] Tcl - bug in interactive tclsh
In ticket [perl #40788], Will Coleda noted a problem with interactive tclsh.
[perl #40217] Parrot_autoload_class() knows about Python and Tcl
Will Coleda sent a patch to remove a function with hardcoded language names. This was in response to ticket [perl #40217].
Users
modifying within a perl5 block
Richard Hainsworth included some example code and committed a test to
t/perl5
which demonstrates the problem he is experiencing.
Compiler
ANN: Pugs Repository URL Changed.
Audrey Tang announced that the Pugs repository has a new location:
http://svn.pugscode.org/pugs/
https://svn.pugscode.org/pugs/
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.
Acknowlegements
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