This week on the Perl 6 mailing lists
"That fuzziness is classic $Larry. Some of the rest of @Larry can be more *mumble*matic."
-- chromatic in 'where constraints as roles'
A few clarifications were added to the original thread 'how typish are roles'.
In the subthread 'where constraints as roles', started by Trey Harris, the discussion from the previous week continued.
Last week, Trey asked
where clause or junctive type defines an anonymous role, while
a type parameter defines a lexical role, and suggested adding this
information to S12. Larry Wall replied, saying that a
is there for pattern matching...but went on to note other possibilities.
Jonathan Lang felt that S02 gave some indication of what Trey suggested,
where clauses and junctive types should not be turned in to
roles: roles and junctive types should be turned in to
Larry Wall committed a patch on applying dwimmy hypers to hashes, then disagreed with himself...maybe. He sees two ways of looking at it, and finds merit in both.
Earlier, TSa noted that multi-method dispatch is not yet in S06 and asked if someone could explain the voting mechanism used to select the dispatch target.
This week, Audrey Tang replied that the plan had been for Larry Wall to review it in Brazil, but that it may now have to wait a while as Larry cannot make it to Brazil. She tried to answer the question on voting, and elaborated further on #perl6. TSa summarized her explanation.
Earlier, in ticket [perl #40443], Matt Diephouse noted that it was decided at OSCON 2006 that vtables and methods should be separated.
Jonathan wondered if this should be postponed until the object and namespace issues have been dealt with. Allison Randal summarized the results of her last conversation with Chip Salzenberg on the topic. Jonathan thanked her for the specifications and said he would work on an implementation.
This week, Jonathan reported the implementation in r15039. Allison suggested a two release cycle for deprecating the old syntax. A bug she reported with Punie was addressed in r15048, but some tests continued to fail (the bug was covered in '[perl #40626] [BUG] :vtable fails for subclasses of core classes '). There was further discussion about optimization, with it being agreed that first the functionality would be added, and later the code could be improved.
Jonathan Worthington noted that if you have a ParrotObject instance
$S0 = foo, $S0 will contain the name of the class. He
finds this problematic because you cannot overload what class it
stringifies to. He would like to get rid of this but asked if anyone
was relying on the current behavior. He wants to get rid of it in a
Patrick R. Michaud joked that he thought a week was too long to wait for its removal. He had no objections so long as tests still pass. Allison Randal agreed with a week, provided tests pass.
Later, Jonathan wrote that he had been confused when he wrote the post; the code is being used in PGE, for instance.
In ticket [perl #40608], Jonathan Worthington showed a program which segfaults in Parrot on Windows. This issue was resolved in r15043.
Bob Rogers considered different approaches to eliminating the continuation barrier from action invocation and wondered if his latest idea was worth pursuing. Allison Randal replied that she saw the temptation in the solution, but was glad Bob had paused to ask because it would ultimately lead in the wrong direction. They discussed the matter further.
Kevin Tew implemented
:init some time ago but cannot check it in because
it requires a flag. Currently he is using
PObj_private2_FLAG but that broke tests. He would
like to know what flag he should use.
Jonathan Worthington asked if
PObj_private3_FLAG could be used, as it
is labeled as unused.
Leopold Toetsch suggested 2 or 0. Kevin included his failing test results with these flags.
This week, Paul Cochrane submitted the following patches:
- In ticket [perl #40616], he submitted a patch to enable lint checking of Parrot source code.
- In '[perl #40618] [TODO] Tcl - Missing channelId tests in t/cmd_puts.t ' (ticket [perl #40618]), he responded to task [perl #39704] with tests for channelld for Tcl.
- In '[perl #40619] [TODO] Tcl - need -regexp tests in t/cmd_switch.t ' (ticket [perl #40619]), he supplied Tcl tests of
-regexpin response to cage ticket [perl #39704].
- '[perl #40620] [TODO] Tcl - tests error wrongly in t/cmd_expr.t ' is ticket [perl #40620] and relates to task [perl #39704]. It corrects a false negative in Tcl's stringified integers test.
- '[perl #40627] [TODO] Tcl - test actual flushing in t/cmd_flush.t ' is ticket [perl #40627] and relates to cage task [perl #39704] on testing flushing for Tcl.
- '[perl #40628] [TODO] Tcl - need to test reading something in t/cmd_gets.t ' (ticket [perl #40628]) addresses cage task [perl #39704] and tests reading something in
- '[perl #40629] [TODO] Tcl - need to test classes in t/cmd_stringOld.t ' addresses cage task [perl #39704]. The patch tests classes in
t/cmd_stringOld.tfor Tcl and is ticket [perl #40629].
- In '[perl #40637] [TODO] Tcl - Throw exception about invalid boolean type in src/pmc/tclstring.pmc ' (ticket [perl #40637]) in response to cage task [perl #39704], Paul submitted a patch to throw an exception about an invalid boolean type for Tcl in
- In ticket [perl #40638], posted as '[perl #40638] [TODO] Tcl - work out why hash implementation insufficient in src/pmc/tclarray.pmc ', Paul responded to cage task [perl #39704] with a patch to
- Message '[perl #40639] [TODO] Tcl - hack src/pmc/tclfloat.pmc to approximate right precision output ' (ticket [perl #40639], addressing cage task [perl #39704]) fixes
tclfloat.pmcto the right precision of output.
- '[perl #40640] [TODO] Tcl - move backslash hash and hex hash into a class attribute ' (ticket [perl #40640]) is in response to cage task [perl #39704]. The patch moves backslash and hexadecimal hashes into a class attribute.
Paul Cochrane reported a "is this still working" comment he found in
config/gen/makefiles/root.in. He found that it didn't work, and
wondered if this was something which should be fixed. If so, someone
else should look at it because Paul does not have privileges to do it.
Allison Randal announced the first version of PDD25 on threading and concurrency. She opened the floor to discussion. Joshua Gatcomb linked to a related Perlmonks thread.
Allison thanked him for the link and wrote a bit about the lo language, which uses 'futures' for concurrency. Larry Wall replied that lazy lists can be viewed as a form of futures.
Jerry Gay created ticket [perl #40625] to note that the link on parrotcode.org to PDD25 is broken.
Paul Cochrane reported a hanging test in
t/stm/runtime.t and wondered
if other people have seen the same problem. He included his configuration.
In ticket [perl #40631], Jerry Gay requested some tests for native
PMC types in the
t/pmc directory. At the moment there is just one test
for each which verifies if they can be created. The testing should be much
In ticket [perl #40632], Jerry Gay noted the tests which are failing. Will Coleda included his list of failures.
Will Coleda created ticket [perl #40634]. He listed some unexpected files. He thought that one should be ignored by svn, and the others should be cleaned up after creation.
Will Coleda posted some warnings he got on OSX to ticket [perl #40635].
In ticket [perl #40646], Patrick R . Michaud invited people to write tests for code which adds combined enumerated classes to PGE.
Jerry Gay created ticket [perl #40653] for the task of testing
that PDDs follow the format laid out in
Richard Hainsworth asked how to use a scalar inside an eval with Perl 5 from within Pugs. Audrey Tang reported the bug fixed as of r14574.
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.
Yuval Kogman helped with this week's summary.
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, email@example.com.
This summary can be found in the following places: