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.
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
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'),
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'.
[svn:perl6-synopsis] r13585 - doc/trunk/design/syn
A commit by Larry Wall removed the quote
declarator.
[svn:perl6-synopsis] r13586 - doc/trunk/design/syn
Larry Wall's commit changed :to
to be the short form for :heredoc
.
[svn:perl6-synopsis] r13587 - doc/trunk/design/syn
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.
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()
Sam Vilain created ticket [perl #41478] 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
Paul Cochrane created ticket [perl #41485]. chromatic had
asked in '[svn:parrot] r16940 - in trunk/languages/lua: Lua t'
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] 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)
Klaas-Jan Stol created several patches this week as well, namely:
[svn:parrot-pdd] r16965 - trunk/docs/pdds/draft
Allison Randal updated PDD15 to reflect core conceptual changes to objects.
[perl #40722] [TODO] Tcl - implement [file dirname]
In response to Paul Cochrane's ticket [perl #40722], 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.
In ticket [perl #41496], 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
Paul Cochrane created ticket [perl #41497] 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
In ticket [perl #41498], 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
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].
[perl #41500] [TODO] config - lib directory needs to be set appropriately for 32/64 bit archs
Ticket [perl #41500] 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
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' was a duplicate and contained one of the responses.
[perl #41502] [PATCH] fix auto::sizes configure step
Aldo Calpini created ticket [perl #41502]. 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
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...
Will Coleda created ticket [perl #41508]. 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
Ticket [perl #41511] 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...
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.
cvs-parrot
[svn:parrot] r17012 - in trunk: runtime/parrot/library/Parrot t/compilers/past-pm
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 'optimizetree' or 'displaybenchmarks' 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, 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, kudra@domaintje.com.
Distribution
This summary can be found in the following places:
See Also