Max Demmelbauer is in the process of porting his web-framework project to
Perl6 had had a question on how he could serialize objects and extend
a class. Thomas Wittek offered an example of syntax and gave links
to the documents the information was derived from. Conrad Schneiker
noted that he and other people on the #perl6 IRC channel would be
happy to help if the mailing list didn't yield answers.

This led to Conrad Schneiker starting this thread, outlining his revised
proposal: namely, to install twiki and gradually convert it to Perl 6.
The prize would be offered to the group or person who performed a series
of tasks Conrad listed. There was some discussion on the new proposal.

Chris Yocum had some questions about multi keyword and multimethods
in general. Steffen Schwigon advised reading S06. Steffen then asked
when his examples would be used in practice. Several people responded.

John Drago asked if the syntax for synchronized and threaded restrictions
had been worked out. This led to a discussion on the term 'synchronized'
and alternative phrases, such as 'is serial', 'locked' and 'is exclusive'.
A number of people, including Larry Wall, replied with syntax suggestions.

Jonathan Lang asked how an atomic block differs from one where all variables
are hypotheticalized, and why the 'retry' exit statement would be needed.
Several people noted differences, which led to a lengthy discussion on
different types of locking.

Shu-chun Weng, who is working on 'MiniPerl6' in Pugs, uses a Perl
6 grammar to describe Pugs::Grammar::MiniPerl6 and had two suggestions
on how rules could be changed to make them easier to write: ignore
spaces where they are irrelevant, and change:P5/\s+/ to use \s*.
Patrick R. Michaud had examples of why ignoring whitespace might be
problematic, and recommended using a token statement instead. Information
about the Pugs::Compiler::Rule's parsing was added by Audrey Tang to
S05 in r9442.

Sage La Torra was working on a design document detailing translations
and asked for review. Jonathan Worthington found a possible edge case,
and Larry Wall clarified. Several other people had minor suggestions.

Daniel Hulme wrote about the two positions on how smart-matching against
booleans should work. Larry Wall added some clarification on
when.true, when True, and deprecated when true. Eric had some
further thoughts on booleans.

Yuval Kogman suggested that.can would be extended to allow
$object.can(Class) and $object.can(Role). Sam Vilain wanted
to know why.does or.isa couldn't be used in this context.
Yuval explained that this would be useful if you do not control
an $object's class.

Daniel Hulme asked if it would be useful to have a way of 'binding'
a variable name to a given type in a specific lexical scope, so that
every time a variable with that name is declared within the scope
it receives the same type.

Szilakszi Bálint posted a request to collect ideas on how optional
logging could be added to classes. Yuval Kogman added a suggestion,
but added that he felt the most useful logs are manually added to
give the most meaningful information.

In response to Audrey Tang's commit, Aaron Crane noted that he understood
why 'environmental' had been changed to 'contextual' but questioned whether
'contextual' was the best alternative because 'contexts' already have a
meaning. He proposed 'ambient variables'. Audrey responded that a context
is passed along with your calls, and in that sense 'want' is a contextual
variable.

In February, Leopold Toetsch noted in
ticket [perl #38594] that source line information is off by
at least one on several instructions in PASM/PIR.
Vishal Soni started to look in to the bug in June, and in July
the patch was applied.

Andy Dougherty created ticket [perl #39244] to offer a patch to
initialize I and N registers, because they are 0 in DEBUGGING builds,
but in non-debugging builds they are not consistently set.
Leopold Toetsch applied a modified version of the patch.

In May, Andy Dougherty created ticket [perl #39245] to introduce a patch
to include updates from his Solaris 8 results, and to update the
PLATFORMS document in general. Leopold Toetsch applied the patch
in June.

Rene H. Møller asked for a clarification on the differences between
rule, token and regex. Jerry Gay suggested S05 for information on the
recent changes on these topics. Patrick R. Michaud also provided a
quick summary.

In ticket [perl #39313], Leopold Toetsch described some code which
is just ignored by the PMC compiler and invited patches. Klaas-Jan Stol
identified the location of the problem but could not fix it.
Joshua Juran added some comments as well.

Bob Rogers reported that if a namespace key with a single component is not
found, Parrot reports the error, but if the namespace name is compound,
a null PMC is returned. He supplied a patch to make it throw an error
as well.

Chromatic penned report [perl #39378] to describe a failure he
encountered with tests after applying a patch to port Pheme's class
names to the new keyed style. Leopold Toetsch felt that it might
be a GC bug. A fix was applied in r12950.

Bob Rogers requested some clarification of a portion of pdd23_exceptions.pod
from late May, dealing with.begin_eh. He wondered if this meant that
the current process of searching for an Exception_Handler object on the
control stack would be replaced with a search through sub metadata when
an error is thrown, and asked about how it would interact with pushaction.
Chip Salzenberg agreed that Bob's interpretation of the plan was
correct and noted that no resolution had been reached with pushaction.
A discussion on the merits of different ways of handling it ensued.

Ryan Hinton reported that r12936 was failing. This was in response to
Will Coleda's request for a check against r12926 or later, which was in
itself a reply to a FreeBSD failure report from March ([perl #38788]).

Chip Salzenberg wondered if Parrot exceptions were resumable, and if
it was important if they were. Larry Wall said that he did not feel
it was necessary to include special code to make exceptions resumable,
but noted that documentation was missing. John M. Dlugosz, previously
in favor of resumption, related the story of his conversion. Larry
replied about how his initial termination stance had been modified.

In January, Will Coleda created ticket [perl #38146] to request
that OS.pmc provide a copy(source_file.target) and a
copy(array_of_source_files.targetDir). There was a long
discussion on whether this should be done.

In June, Vishal Soni wrote about an attempt to implement the
request in this ticket. Leopold Toetsch and Vishal discussed the
requirements and implementation.

Charles Reiss included a proposal to change the syntax for the
creation of threads, to move away from the three-tiered threading
system. Jonathan Worthington had a few comments, which Charles
responded to.

David Landgren reported in ticket [perl #39552] that he was getting
a segmentation fault when trying to gmake the latest sync.
Leopold Toetsch thought it sounded like a conflict with an existing
installed Parrot, and suggested the removal of any installed Parrot
libraries.

In ticket [perl #39597], Matt Diephouse noted that a portion of
languages/tcl/src/class/tclcommand.pir is giving problems for Parrot.
He later identified pbc_merge as the source of the problem, which
Jonathan Worthington confirmed and fixed in r13020.

Jerry Gay proposed that a three-argument form of find_lex be employed
to specify where to start finding lexicals in support of OUTER::
from S04; the third parameter would be an integer specifying the level
in the chain where the lookup should start. Discussion led to the
suggestion of an opcode.

Nicholas Clark wanted to know if it was logical to write opcodes
such as this one in Parrot assembler. Audrey Tang replied, and
there were additional followups.

Vishal Soni proposed defining a Parrot platform API that all Parrot
ports would need to implement, which would remove platform-specific
code out of the core logic. Nicolas agreed with the proposal, while
Nicholas Clark noted that Chip Salzenberg was at YAPC::NA and might
take some time to reply.

Matt Diephouse ran in to problems implementing namespace support in Tcl
and had a few questions. Chip Salzenberg replied, and in the end it
was determined that some of Matt's requests were already met, and
that one should be a bug report.

Jarkko Hietaniemi reported a problem with Parrot with tgetnum
and asked if there was a way to add verbosity to show what commands
are being run. Leopold Toetsch advised perl Configure.pl
--verbose-step=snprintf, and Jarkko included a more detailed report.
Jarkko resolved to get the admins to compile a newer libreadline
after some discussion with Leopold. Will Coleda felt the test for
readline should be improved. There were some discussions on how
to do this.

Vishal Soni suggested changing the register allocation algorithm to
'Linear Scan Allocation'. Chromatic thought that it would be nice
to have the implementation to benchmark, and to have IMCC cleaned up
in the process. Watson Ladd thought bin packing would be an even
better choice.

Chromatic created ticket [perl #39669] because there is no PIR
compiler available for embedded Parrot. Leopold Toetsch said the
PIR compiler is registered in imcc_init(), which should probably
be called during the Parrot init sequence. Chromatic applied a
patch as r13066.

Andy Dougherty looked in to whether it would be possible to deploy
Perl6 on a system which runs neither GHC nor Parrot using v6-pugs.
Flavio S. Glock offered some installation help. There was some further
discussion on the state of the project.

Audrey Tang replied to Swaroop C H's post asking about the numerous
Perl6 backends, offering clarification on the different implementations.
There was additional discussion on the state of the implementations,
with Chromatic also joining in. Uri Guttman mentioned the Chicago
YAPC docathon could work on making this clearer.

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Without JavaScript enabled, you might want to
use the classic discussion system instead. If you login, you can remember this preference.