Perl 6 summary, 5-11 November, 2006

kudra on 2006-11-12T08:34:27

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.

RFC: Actions without barriers

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.

SVN tips in wranglers.pod

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