Ann Barcomb
Sun, 25 Feb 2007 09:25:48 -0800
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
[EMAIL PROTECTED] <== 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/>