This week on the Perl 6 mailing lists
“…of course [that] can’t be a bug as there are no specs ;)”
– Leopold Toetsch, in ‘[perl #40968] [BUG] :multi doesn’t seem to work right’
Jonathan Lang brought up some information relating to hashes and was
wondering if the matching operator ought to be modified since the concept for
hash keys has since changed. Larry Wall replied that
=== was correct, but that the decisions on sorting may need to be rethought. Jonathan
thought that not only was the current description suboptimal, it might
not even be possible. Darren Duncan added in his opinion that
.keys should return a Set. Jonathan had some concerns about the idea.
Meanwhile, Paul Seamons made another suggestion based upon Template Toolkit’s handling of the concept.
This week, Darren went in to more detail on the methods which ought to be available for Set, Seq and Bag. TSa also added comments on the relationship between Seq, Bag and Set.
Yuval Kogman initiated a thread on scoping and closures with some code examples. Anatoly Vorobey tried to further clarify the question. They were not clear on how inner lexically scoped subroutines view their enclosing environments. There was some question on how compile-time pads are linked at runtime. Juerd’s had a question which led Yuval to further define the original question.
Buddha Buck added some comments based upon an understanding of other languages; Anatoly joined in the discussion.
Damian Conway attached S26 and thanked everyone who offered feedback on the first draft. He also stated that the Pod-to-XTML module and Perl 5 implementation of the POD parser will be available soon.
TSa wanted to propose an addition to the subset type definitions, namely an implementation body like classes and roles. A rectangle example from an earlier thread was included. Jonathan Lang replied with an alternate code example.
Bob Rogers responded to Leopold Toetsch’s earlier request for an analysis of the impact of using STM for dynamic binding with a detailed comparison.
Matt Diephouse wanted to know if anyone would be upset if he removed
set_pmc vtable and the
deref opcodes. Allison
Randal thought it sounded like a bad idea to simply remove opcodes
because they were broken. She wanted to know what problem they were
intended to solve, and what the replacement strategy for is.
This week, Matt explained what he knew about the history of the opcode.
Allison agreed with him that
set_pmc needs to be split from
and that they may need to be renamed. She asked for a more complete
proposal for creating the new reference pmc so that the effects can
be carefully considered.
Earlier, Paul Cochrane took a stab at ticket [perl #40884], which was Chip Salzenberg’s request for Parrot release names to be recorded. Will Coleda completed the task and gave a brief overview of the history of the naming schemes.
Last week, following his introduction to Parrot at the Chicago Hackathon,
James E Keenan posted a proposal on how
pmc2c.pl could be tested.
He hoped for some feedback at an early point to prevent him from wasting
effort on useless patches.
He proposed extracting as much functionality as possible in to subroutines which are then placed in a package. He also wondered about some options which were described in the documentation but didn’t appear to be used.
This week, James clarified that
gen_def() is indeed not used. Jonathan
Worthington took responsibility for this, and said that he thought it was
unneeded. James stated his intention to deprecate it.
Allison Randal advised James to begin with an extensive and tested refactor, with Particle’s help.
Nuno Carvalho created ticket [perl #40945] to add more features for testing the abc language.
In ticket [perl #40946], Nuno Carvalho included a patch which is a TODO file for the abc language tests. This is a list of missing tests for features.
In ticket [perl #40951], Will Coleda included some example code demonstrating how a Tcl namespace is lost inside of an if statement.
Nuno Carvalho created ticket [perl #40947] to submit a patch to add some simple abc functions to the abc test suite. It was applied as r15714.
In ticket [perl #40953], Nuno Carvalho included a patch to correct the abc test harness’s todo option. It was applied.
Matt Diephouse created ticket [perl #40955]. In it, he explained the relationship between namespaces and subroutines. Namespaces contain subroutines, and subroutines are anchored to namespaces. Matt wrote that anonymous subroutines should not be in a namespace, but should still be anchored to one; in Parrot this is not the case. He included a test case to demonstrate the problem.
Although the issue was resolved in r15674, this ticket generated some discussion. Allison Randal replied that she thought anonymous subroutines should not be anchored to a namespace. She thought that what Matt had in mind was a new concept, and asked for code examples and use cases which would allow her to define the concept better.
Matt responded with a Perl 5 example, and Allison replied. She proposed starting a new thread, which Matt did with ‘:anon Subs and Namespaces‘. Ben Morrow also replied to the original ticket-based thread.
Patrick R. Michaud reported a problem with using iterators on subclasses
ResizeablePMCArray. This was ticket [perl #40958].
Steve Peters created ticket [perl #40950] which contains a patch to get Parrot to compile with the new Borland C++. He noted that more patches would probably follow.
In ticket [perl #40959], Steve Peters reported a compilation failure and included the error messages. chromatic thought the error looked familiar and proposed a solution.
In ticket [perl #40960], Matt Diephouse reported that making a :multi sub affects the namespace by adding an extra entry for the :multi variant.
Ron Blaschke posted a summary of Microsoft’s Visual C++ compilers and their take on bundled code. Steve Hay replied that he spent a while working on the same issues for Perl 5. Ron replied with a link to a page he had found on building C/C++ isolated applications and side-by-side assemblies.
James E Keenan included some snippets from three different files where a
subroutine with the same name,
gen_c, is used. All of these are in
places where he plans to refactor. chromatic suggested whichever one
is currently used should be considered authoritative. He thought it
would be nice to compare the output of all three to see if there
are significant differences between them.
This thread continues from ‘Re: [perl #40955] [BUG] :anon .subs aren’t anchored to a namespace‘.
Matt Diephouse tried to explain the anonymous subroutine namespace issue he is experiencing from the perspective of what Tcl needs. He posted some examples of the Tcl PIR. Allison Randal replied that it seemed like the same problem as Perl 5’s ‘main’ routine. She also tried to explain why having anonymous subroutines anchored to a namespace would cause problems in Parrot. She suggested a feature which allows a post-compilation modification of the namespace a compilation unit uses for default lookups.
Patrick R. Michaud filed ticket [perl #40968] to report a problem with underscore arguments in ‘:multi’. Leopold Toetsch replied with some thoughts on how they ought to work, but felt that it wasn’t exactly a bug. Patrick gave some more detailed examples of why the current semantics are not useful. chromatic answered that he did not see any reason not to make the primitive types and their related PMCs equivalent in the distance value function.
In ticket [perl #40966], Patrick R. Michaud reported a possible GC or pointer bug.
Bernhard Schmalhofer noticed an iterator test which was being skipped under Win32 and wondered if it still needed to be skipped. His post was recorded as ticket [perl #40972].
James E Keenan had a question about how the Parrot Makefile uses
Specifically, he wanted to know what files the Makefile places in @ARGV.
chromatic replied that he did not see anything except the .pmc files.
Patrick R. Michaud created ticket [perl #40646] to request some new tests.
He recently added code to add combined enumerated classes to PGE.
Nuno Carvalho added some tests to the
rx_subrule but noted that two
were unexpectedly failing. Patrick noted why the tests were failing and
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, email@example.com.
This summary can be found in the following places: