Weekly Perl 6 mailing list summary for 26 November - 3 December, 2006

Ann Barcomb <[email protected]> Sun, 3 Dec 2006 15:08:27 +0100 (CET)
Newsgroups gmane.comp.lang.perl.perl6.announce
Message-ID <[email protected]>
  This week on the Perl 6 mailing lists (26 Nov - 2 Dec)

     "... On the sixth day of Christmas my true love sent to me,
     Six versions of Perl,
     FIVE LANGUAGES COMPILING!
     Four bytes of bytecode,
     Three POST nodes,
     Two ASTs,
     And a Partridge with a parse tree."

     -- Jonathan Worthington, 'Naming PAST-pm compiler tool chain
     <http://xrl.us/tm65>'


  Language

   Smart Matching clarification <http://xrl.us/tc7n>

     Earlier, Jonathan Lang inquired about the matching operator for hash
     keys had changed. This led to a discussion about Sets, Seqs and Bags.

     This week, in the subthread 'Set-returning .keys', Darren Duncan
     clarified his views, stating that while he saw Bags as a superset of
     Sets, he did not mean to suggest that their implementations should be
     related. TSa suggested that in a hypothetical inheritance structure,
     Set would be the main type and Bag would extend it. Ruud H.G. van Tol
     disagreed, stating that Set is more complex to modify than Bag.

     Some discussion of the appropriate return values and operations also
     came up. For example, Darren proposed that a union of two sets would
     return a Set, and that Set operations should be terse as they would be
     common.

     The thread 'beg for Bag <http://xrl.us/tm66>' followed from this
     discussion.

   implementation for subset types <http://xrl.us/tgss>

     Last week, 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.

     This week, TSa responded to Jonathan's post, wondering how a general
     polygon would become an instance of an anonymous class once it was
     modified to become a rectangle. The purpose of the proposal was
     clarified as providing a means to attach methods to subset types.

   beg for Bag <http://xrl.us/tm66>

     TSa started this new thread from the discussion in 'Smart Matching
     clarification <http://xrl.us/tc7n>'. He proposed the addition of a Bag
     type which completes the set of immutable types. Smylers wondered how
     this would differ from the Bag which is mentioned in Synopsis 3.
     Darren Duncan replied that while Bag is mentioned in examples, it is
     not included in the list of built-in types in Synopsis 6.

     An exchange between Tsa and Jonathan Lang on the set operations of Seq
     was also part of this thread.

   [svn:perl6-synopsis] r13483 - doc/trunk/design/syn <http://xrl.us/tm67>

     In this patch, Larry Wall distinguished Set and Bag values from KeySet
     and KeyBag containers, which made several people rather happy.

   Interrogating closures <http://xrl.us/tm68>

     Yuval Kogman wrote in praise of the partial unification of objects and
     code references, and closures in general. He proposed allowing
     closures to declare that captured variables are an instance, and
     provided a code example. The purpose would be to give the option of
     inspecting what a closure is encapsulating.

     Larry Wall replied that he would look for a declarative solution
     rather than a callback, which would mean the closure could have a
     declarator which explicitly captures a lexical and makes it available
     as an attribute. Yuval responded that the `have` syntax proposed by
     Larry looked nice.

  Parrot Porters

   [perl #40729] [TODO] Tcl - implement [file extension]
   <http://xrl.us/tm69>

     Nuno Carvalho responded to ticket [perl #40729] <http://xrl.us/tm7a>
     with a patch which implements the first version of file extensions for
     Tcl.

   RFC: Proposal for dynamic binding <http://xrl.us/tc8i>

     This thread was started by Bob Roger's proposal for dynamic binding.
     He compared two options, and later gave an analysis of a third (STM)
     at Leopold Toetsch's request.

     This week, Allison Randal responded to the proposal with the question
     of why dynamic binding should only apply to globals. She stated that
     the proposed implementation was not being approved, but noted that one
     of Bob's ideas concerning threads was of particular interest and
     likely to be included at some point. Bob replied in depth to the
     points she raised and asked if he could improve the proposal or if he
     should give it up.

   [perl #40978] [PATCH] Clean up parts of the MMD system
   <http://xrl.us/tm7b>

     Ticket [perl #40978] <http://xrl.us/tm7c> contains a patch from Matt
     Diephouse to clean up portions of the MMD system. chromatic replied
     that the patch worked for him.

   [perl #40990] [BUG] Parrot segfaults in perl6 08-regex.t (GC/pointer
   bug?) <http://xrl.us/tm7d>

     Patrick R. Michaud reported a segfault in ticket [perl #40990]
     <http://xrl.us/tm7e>. The problem appears in r15837 and happens when
     the -G flag is not present. Later he reported a second problem as
     ticket [perl #41035] <http://xrl.us/tm8v>.

   [perl #39826] [CAGE] convert C<perl -w> to C<use warnings;>
   <http://xrl.us/tm7f>

     Paul Cochrane replied to ticket [perl #39826] <http://xrl.us/tm7g> to
     report that a Perl::Critic policy has been added which requires `use
     warnings` in place of `-w`.

   Naming PAST-pm compiler tool chain <http://xrl.us/tm65>

     Allison Randal proposed the name 'Partridge' for the PAST-pm compiler
     tool chain. Jonathan Worthington poetically agreed with the name.

   [perl #40991] [PATCH] PAST-pm: Unnecessary dummy 'root' rule in POST
   transformation <http://xrl.us/tm7h>

     Allison Randal submitted a patch which removes a dummy 'root' rule
     from PAST.pm's transformation grammar. It was ticket [perl #40991]
     <http://xrl.us/tm7i>.

   Initial feedback on PAST-pm, or Partridge <http://xrl.us/tm7j>

     Allison Randal initiated a discussion on Partridge (PAST-pm) with a
     post of her comments on user experience and implementation.

     Patrick R. Michaud noted that Partridge should not be considered
     complete, so many of the missing items Allison noted are things which
     simply haven't been implemented yet. He also added a more detailed
     response to her specific points.

     Several sub-threads developed. One involved the standardization of
     compiler tools, for example the question of whether each language
     subclass of HLLCompiler should override the `compile` method. Some
     changes were committed as r15882, which Allison liked. She added a
     patch to keep strict boundaries and makes it possible to override the
     grammar. There was a discussion on giving each stage a compiler, which
     both Patrick and Allison wanted. However, Allison wanted each stage to
     act independently, with only the HLLCompiler controlling the order of
     the steps.

     In another sub-thread, Allison responded to comments concerning types,
     layers of abstraction and tracking information as part of the
     compilation process. She was quite satisfied with the work which has
     been done so far, but had a few more thoughts.

     Another response dealt with the remaining points. Leopold Toetsch also
     joined in, noting that the discussion of Parrot limitations related to
     :init methods had come up previously.

     Finally, Patrick asked which constructs in Punie weren't working yet.
     Allison responded, and Patrick replied that he was going to be
     refactoring the HLLCompiler soon.

   [perl #40998] [PATCH] Fix build error on Win32 <http://xrl.us/tm7k>

     Nikolay Ananiev reported that if the build directory contains spaces
     the build process fails. A patch was submitted as ticket [perl #40998]
     <http://xrl.us/tm7m>. Ron Blaschke proposed escaping or quoting the
     paths instead. Nikolay Ananiev replied that quotes would require
     refactoring some of the scripts in the build tree. He submitted a
     revised patch which only adds a short path if a space exists.

   [perl #40999] Latest version of parrot doesn't make test
   <http://xrl.us/tm7n>

     In ticket [perl #40999] <http://xrl.us/tm7o>, Bob Wilkinson reported
     that the latest version of Parrot did not pass make test. He included
     the errors. Patrick R. Michaud gave some suggestions on how to fix the
     problem, which may be related to an earlier installation of Parrot.

   [perl #41000] Can't compile simple parrot example with latest stable
   parrot <http://xrl.us/tm7p>

     Bob Wilkinson reported that he could not compile an example with the
     latest stable Parrot. This was noted in ticket [perl #41000]
     <http://xrl.us/tm7q>. Patrick R. Michaud replied that he thought the
     example was out-of-date. Matt Diephouse agreed that the example needed
     to be updated. This was made into a cage task and fixed.

   [perl #41014] [PATCH] Autobox Native Types for MultiSubs
   <http://xrl.us/tm7r>

     Matt Diephouse created ticket [perl #41014] <http://xrl.us/tm7s> to
     address bug ticket [perl #40968] <http://xrl.us/tgtm>. He decided to
     match native types using their autoboxed PMC types rather than change
     `_` to mean any PMC in a :multi signature.

     Leopold Toetsch replied that he felt that this was not the best choice
     because it prevented native type optimizations. Patrick R. Michaud
     agreed with Leopold, but felt that in the short term the patch was
     better than the current situation. There was some discussion
     concerning an example of how this would be a problem.

     The issue was resolved with r15910.

   Interesting post on concurrency models <http://xrl.us/tm7t>

     Allison Randal posted a link to a post on concurrency models
     <http://xrl.us/tm7u>.

   [perl #41020] [PATCH] pmc2c.pl functionality extracted into separate
   package <http://xrl.us/tm7v>

     In ticket [perl #41020] <http://xrl.us/tm7w>, James Keenan supplied a
     patch to make `pmc2c.pl` easier to test. This involved putting most of
     the subroutines in a new package.

   [perl #40815] Summary of 'make test' failures on Darwin
   <http://xrl.us/tm7x>

     Earlier, in ticket [perl #40815] <http://xrl.us/tc7t>, James Keenan
     sent a summary of Parrot test failures on Darwin. Steve Peters
     reported that one of the problems had been fixed in r40818.

     This week, James noted that the problem persists. Andy Bach suggested
     that the problem might have to do with the compiler version. chromatic
     found it odd that Configure is using g++ as the linker and cc as the
     compiler. Nicholas Clark replied that this was due to ICU.

   [perl #41020] [PATCH] pmc2c.pl functionality extracted into separate
   package <http://xrl.us/tm72>

     James Keenan reported in ticket [perl #41020] <http://xrl.us/tm7w>
     that he had fixed problems with `GetOptions`. This led to a discussion
     of the problems he had with compilation, and a question of what tests
     on build tools were meant to accomplish.

   [perl #41021] [NEW] Parrot::Pmc2c::Utils and t/tools/pmc2cutils/*.t
   <http://xrl.us/tm74>

     James Keenan sent in 8 new files in a patch as ticket [perl #41021]
     <http://xrl.us/tm8w>. These were created as a result of refactoring
     `pmc2c.pl` to make it easier to test.

  Acknowlegements

     This summary was prepared using Mail::Summary::Tools
     <http://xrl.us/qvno>, available on CPAN.

     If you appreciate Perl, consider contributing to the Perl Foundation
     <http://donate.perlfoundation.org> 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 protected]>.

  Distribution

     This summary can be found in the following places:

     * use.perl.org <http://use.perl.org/>
     * The Pugs blog <http://pugs.blogs.com/>
     * The perl6-announce mailing list <http://xrl.us/qycj>
     * ONLamp <http://www.oreillynet.com/onlamp/blog/>

  See Also

     * Perl Foundation activities <http://blog.perlfoundation.org>
     * Perl 6 Development <http://dev.perl.org/perl6>
     * Planet Perl Six <http://planetsix.perlfoundation.org/>