Weekly Perl 6 mailing list summary for 11-17 February, 2007

[email protected] (Ann Barcomb) Sun, 25 Feb 2007 15:25:51 +0100 (CET)
Newsgroups perl.perl6.announce
Message-ID <[email protected]>
  This week on the Perl 6 mailing lists

     Remember that the European Perl Hackathon will be held next weekend,
     from 2-4 March, 2007 in Arnhem, the Netherlands. Registration is open
     until Thursday, 1 March. For more information, please look at the
     hackathon website <http://xrl.us/u3r9>.

     Allison Randal and Jonathan Worthington will be coordinating the
     Parrot/Perl 6 portion of the hackathon.


  Language

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

     Larry Wall made a commit to S02, S04 and S06. This change renamed
     `leave` to `give` and modified `give` to always give the final value
     of the innermost block. `$context.give()` will always give the final
     value of the context. Instead of repeating the context selector
     interface, the object is now used. Loop labels are considered
     sufficiently OO to allow `LABEL.give` within the lexical scope of the
     labeled statement. Additionally, feed operators were clarified; their
     intent is to allow parallelism with minimal sharing, along the lines
     of the UNIX pipe model.

     Smylers thought that most people would probably want to filter an
     array without retaining the original array, something that Larry had
     labeled as 'probably impossible'. Larry replied that people probably
     would want the form, but that mutable data is coupled to realtime but
     lazy data is decoupled. He thought it might be able to make the syntax
     `@data <== grep { $_ % 2 } <== eager @data;` work, but that care would
     have to be taken with the identity of the container and its data.

     In a later commit ('[svn:perl6-synopsis] r13583 - doc/trunk/design/syn
     <http://xrl.us/u22v>'), Larry decided to change `give` back to
     `leave`, on the grounds that `give` can be confused with `given`. Some
     of Smyler's comments were taken into consideration in
     '[svn:perl6-synopsis] r13584 - doc/trunk/design/syn
     <http://xrl.us/u22w>'.

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

     A commit by Larry Wall removed the `quote` declarator.

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

     Larry Wall's commit changed `:to` to be the short form for `:heredoc`.

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

     Another commit by Larry Wall made a series of changes to S02, S04, and
     S12. The `statement_modifier` category was split in two. List
     comprehensions can be done with statement modifiers. Multiple dispatch
     is explained in terms of topological sort, and has been clarified
     where single semicolons are concerned. Multis with a single semicolon
     may be reserved in 6.0.0.

   my $temperature is ro <http://xrl.us/u222>

     Steve Lukas proposed a `ro` (read-only) declaration for variables
     which would prevent modification after an initial value was set at
     runtime. As an example of a use, he gave data fetched from from a
     database which is used to create reports. He also explained why he
     felt that the `readonly` trait and the `VAR` macro were not suitable.

     TSa thought that `constant` did what Steve wanted. Larry Wall
     clarified that `constant $temperature = getValue()` would evaluate
     `getValue()` at compile time. Larry noted that the specified `my
     $temperature is readonly = getValue();` would probably suit Steve's
     need. Smylers agreed with Larry and asked Steve some questions about
     Steve's proposal for `readonly $-temperature`. Steve replied that he
     had overlooked the specification Larry mentioned, and that he was
     willing to drop his proposal.

     Larry Wall remarked that he was getting tired of writing `rw` context
     variables and that there might be forthcoming syntactic relief for
     `rw`/`ro` which is orthogonal to everything else. Bob Rogers suggested
     `:=` or something similar to indicate that the assignment is really a
     definition.

  Parrot Porters

   Re: [perl #41478] [PATCH] add Test::More::skip() <http://xrl.us/u223>

     Sam Vilain created ticket [perl #41478] <http://xrl.us/u3sa> to add
     `skip` to Test::More.

     Allison Randal wondered why Sam had chosen to reverse the order of
     arguments from `Test::Builder.skip` Nicholas Clark remarked that Sam
     had used the same order as Perl 5's Test::Builder. However, he agreed
     with Allison that it is more legible to have the number of tests to
     skip first, followed by the reason.

     Sam proposed to solve it with a multi-sub, which would take either a
     string or an int followed by a string. chromatic thought that was an
     appropriate way to handle the issue. Allison committed the patch, with
     this change, as r17010.

   [perl #41485] [TODO] Add a test for svn:eol-style property
   <http://xrl.us/u224>

     Paul Cochrane created ticket [perl #41485] <http://xrl.us/u3sb>.
     chromatic had asked in '[svn:parrot] r16940 - in trunk/languages/lua:
     Lua t <http://xrl.us/u23v>' if there is a subversion property for line
     endings to keep text files consistent within the repository. The
     property is `svn:eol-style`, which should be set to 'LF' to ensure
     UNIX-style end-of-line characters. Paul created a test for it in
     `t/condingstd/line_endings.t` but wanted to check if all text files
     have the property set before committing the test.

     Jerry Gay remarked that the correct setting is 'native', so that files
     will be saved with the line endings the platform expects. The
     exceptions are examples using file IO, which require 'LF'. Jerry
     offered to test the patch on Windows if Paul posted it.

     Paul wondered if Windows users have problems editing files because of
     the UNIX line endings. Jonathan Worthington answered affirmatively. He
     thought that 'native' was also the best solution.

     James E Keenan wondered if new files committed to a branch should have
     these subversion properties set. Jerry Gay replied that the metadata
     requirements are poorly documented, and that perhaps this information
     belonged in the coding standard PDD. This led Paul to create ticket
     [perl #41505] <http://xrl.us/u3sc> to track the cleanup of the
     documents.

     Eventually the property patch was added to `t/distro/file_metadata.t`
     and committed in r16981.

   [PATCH] languages/PIR add command line options for output of pirc.pir
   (Parse/PAST/PIR) <http://xrl.us/u227>

     Klaas-Jan Stol created several patches this week as well, namely:

     * '[PATCH] languages/PIR add command line options for output of
       pirc.pir (Parse/PAST/PIR)'
     * '[PATCH] languages/PIR more Tree Transformations <http://xrl.us/u228>'
     * '[PATCH] languages/PIR updates <http://xrl.us/u23q>'
     * '[PATCH] lang/PIR macros! <http://xrl.us/u23s>'
     * '[PATCH] languages/lua PGE grammar fix <http://xrl.us/u23t>'

   [svn:parrot-pdd] r16965 - trunk/docs/pdds/draft <http://xrl.us/u229>

     Allison Randal updated PDD15 to reflect core conceptual changes to
     objects.

   [perl #40722] [TODO] Tcl - implement [file dirname] <http://xrl.us/u23a>

     In response to Paul Cochrane's ticket [perl #40722]
     <http://xrl.us/u3sd>, which requested that the stub routine `dirname`
     in `languages/tcl/runtime/builtin/file.pir` be implemented, Nuno
     Carvalho remarked that it had been implemented in r16967. Nuno felt
     that some Windows testing was needed.

   [perl #41496] [TODO] config - profiling options should have their own
   step in config/init/defaults.pm <http://xrl.us/u23b>

     In ticket [perl #41496] <http://xrl.us/u3se>, Paul Cochrane noted that
     the profiling options in `config/init/defaults.pm` should get their
     own step in the configuration process.

   [perl #41497] [TODO] config - profiling options are specific to gcc in
   config/init/defaults.pm <http://xrl.us/u23c>

     Paul Cochrane created ticket [perl #41497] <http://xrl.us/u3sf> to
     request that the profiling options in `config/init/defaults.pm` be
     marked as being specific to gcc.

   [perl #41498] [TODO] create Makefile.PL for CPAN friendliness
   <http://xrl.us/u23d>

     In ticket [perl #41498] <http://xrl.us/u3sg>, Jerry Gay noted that
     CPAN does not like Parrot's `Configure.pl` because it expects a
     `Makefile.PL`. He suggested adding a makefile which will convert
     arguments to the form expected by `Configure.pl` and then run
     `Configure.pl`. The ticket was resolved in r17032.

   [perl #41499] [TODO] config - 32/64 bit architecture setting gcc
   specific <http://xrl.us/u23e>

     Paul Cochrane would like the architecture-settings compiler options in
     `config/init/defaults.pm` to be made generic rather than gcc-specific.
     The request was made in ticket [perl #41499] <http://xrl.us/u3sh>.

   [perl #41500] [TODO] config - lib directory needs to be set
   appropriately for 32/64 bit archs <http://xrl.us/u23f>

     Ticket [perl #41500] <http://xrl.us/u3si> contained a request by Paul
     Cochrane. He wanted the lib install path in `config/init/defaults.pm`
     to be set correctly for 32- and 64-bit architectures.

   Porting parrot on PDA -- work in progress <http://xrl.us/u23h>

     Aldo Calpini reported success at building parrot for the PocketPC.
     Some additional fixes are still needed, but the biggest problem is
     that Parrot should be used to generate `.pbc` files but the directory
     structure isn't available. Aldo asked how to proceed.

     Joshua Isom replied that it should be possible to run most PIR files
     and pbc files, although it would be best to generate them on a
     platform with the same endian.

     Patrick R. Michaud and Jesse Vincent congratulated Aldo on the
     progress to date.

     The thread 'Parrot on PDA - work in progress <http://xrl.us/u23g>' was
     a duplicate and contained one of the responses.

   [perl #41502] [PATCH] fix auto::sizes configure step
   <http://xrl.us/u23j>

     Aldo Calpini created ticket [perl #41502] <http://xrl.us/u3sj>. It
     contains a patch to add a final `n` to a few files. The changes are
     needed to port Parrot to the PocketPC, because the cegcc compiler
     won't output the last line unless there is a terminating newline.

   PAST-pm: only PAST::Block allowed at root of PAST <http://xrl.us/u23k>

     Klaas-Jan Stol asked what the result was of the previous discussion on
     the topic of whether PAST-pm will be able to handle PIR's requirements
     for a top-level construction with an include statement. Patrick R.
     Michaud replied that he expected either a PAST::CompUnit node type or
     the `blocktype` attribute on PAST::Block to get a `compunit` setting.

   [perl #41508] [BUG] Configure losing flags... <http://xrl.us/u23n>

     Will Coleda created ticket [perl #41508] <http://xrl.us/u3sk>. He
     found an error when trying to build with GMP on OSX Intel. Later he
     was able to supply more information, which showed that the problem was
     due to his expectations.

   [perl #41511] Parrot_call_sub* Incompatible with Multisubs
   <http://xrl.us/u23o>

     Ticket [perl #41511] <http://xrl.us/u3sm> was started by chromatic. He
     described a problem involving the difference in layout between a Sub
     PMC and a MultiSub PMC. Matt Diephouse requested a sample of the code
     so that he could take a look at the problem. chromatic added a todo
     test in r17034.

  Compiler

   Get your Google SoC thinking caps on... <http://xrl.us/u23u>

     Nicholas Clark reminded people that it is time to begin thinking of
     good Google Summer of Code projects. Applications will be accepted in
     March. More information is available <http://xrl.us/u3sn>.

  cvs-parrot

   [svn:parrot] r17012 - in trunk: runtime/parrot/library/Parrot
   t/compilers/past-pm <http://xrl.us/u3so>

     A commit by Allison Randal gave the HLLCompiler the ability to add new
     compilation stages.

     Nicholas Clark asked what would happen if someone were to add a stage
     with the same name as an existing stage. Allison replied that it would
     be added twice, as it was possible that someone might wish to repeat
     stages such as 'optimize_tree' or 'display_benchmarks' after each
     transformation.

     Nicholas realized, after studying the PIR, that there is no ambiguity
     as to which stage is meant, as "all of them" are added. He thought
     that there should be a test for it. Allison added tests in r17027.

  Acknowledgements

     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/>