This week on the Perl 6 mailing lists
Language
multi method dispatching of optional arguments
Mark Stosberg wanted the specifications to address what should happen
in MMD when optional arguments are present (S12). He patched
mmd-draft.txt
and sent the text to the newsgroup. Luke Palmer
offered a suggestion.
Ph. Marek wondered if there will be MMD based on the value of parameters, as in Haskell. Audrey Tang confirmed this and pointed to S06. Trey Harris updated it with a reference to S12. Ruud H.G. van Tol also offered an example of syntax.
when calling sets of methods, what happens to the return values?
Mark Stosberg asked for clarification in S12 on what happens to return values when sets of methods are called. Later he saw that Audrey had implemented the functionality and decided to make the final return value an unconcatenated list of each method's return value. He thought this was fine, but a downside might be that it is hard to identify where a return value initiated, since there is no indication which methods were called and in which order.
Unpacking tree node parameters
Gaal Yahas asked for some clarification on the intent in S06's "Unpacking tree node parameters" so that he could introduce the optional use of the colon more gradually.
clarify: how WALK arguments can be combined
Mark Stosberg wanted to see comments "like Perl 5" and "like multi dispatch" expanded in the documentation of the Objects chapter in S12. A reference to their specifications would be adequate. Brad Bowman commented on what he felt were the allowed combinations of adverbs. Mark replied.
NEXT and the general loop statement
Replying to a thread in which Larry Wall stated that exiting blocks run
in reverse order, Agent Zhang included an IRC conversation with
Audrey Tang where they reached the conclusion that Larry should clarify
in what order multiple NEXT{}
run. Agent requested that this be
explicitly expressed in S04.
gather/take definition missing
Mark Stosberg noted that there are several references to gather
in
the documentation, but a formal definition is lacking. He requested
one.
Trey Harris showed an example code where an undef $_
was seen
as false like 1 ~~ 0
. He suggested some clarifications on when
.
Mark J. Reed disagreed with the suggestion that using when
should
cause an error outside of a block which sets $_
. Trey clarified.
CATCH: changing the topic and preserving the call stack
Mark Stosberg referenced error handling in CGI::Application as a use case for refining the CATCH specification. He made some comments using the Perl 5 code as an example.
When should a LAST block be triggered?
Agent Zhang quoted a section of S04 concerning NEXT blocks. This led to a question about when LAST blocks are executed. For instance, would they only be used if the last iteration of the loop is reached normally, when an explicit last is executed, or in all cases where the block is exited?
Parrot Porters
Jonathan Worthington proposed two new core PMCs, 'references to a particular element in an aggregate type' and 'references to a register'. The second requires an opcode, and Jonathan would like the second to have one as well. He included a PDD patch. Leopold Toetsch added another example of where the PMCs would be useful, and commented on the proposal.
Parrot-14347 Patches to get Parrot to build on VMS VAX
Martin Vorländer supplied patches to enable Parrot to build on a VAX. Leopold Toetsch made a suggestion for file names. Martin replied that he will create another patch when he has finished his project.
Dynamic PMC building - include and libpath options?
Jonathan Worthington noted that the include path for BCG was hard-coded
in the dynamic PMC build script, which causes problems on Windows. He
suggested that build/tools/dynpmc.pl
could accept -I and -L flags.
Leopold Toetsch thought the script should be removed in favor of standard
Makefile rules.
Will Coleda posted the URL of latest #ParrotSketch log.
[perl #40278] [CAGE] perl coding standards coda.
In ticket [perl #40278], Will Coleda created a Cage Cleaner's ticket requesting an update of the Perl coding standards based upon an update in PDD07.
[perl #40279] [CAGE] C coding standards coda.
In ticket [perl #40279], Will Coleda created a Cage Cleaner's ticket requesting an update of the C coding standards based upon an update in PDD07. Jerry Gay added a new test file for the C files, and noted that he'd also add tests for the Perl files (mentioned in [perl #40278] [CAGE] perl coding standards coda. ) when he had time, if nobody else had done it by that time.
select / PIO_unix_poll / IO event
Leopold Toetsch found a need for a select/poll system interface. He listed what is currently available and talked about how the system could be implemented. In r14465 most of the functionality was added.
Leopold Toetsch thought it was time to consider interpreter structures and data with regard to threads. He offered his thoughts and solicited for comments. Later he replied to a comment to explain that continuations could not be used because they should not be shared between threads.
[perl #40292] [TODO] Add JSON tests
In ticket [perl #40292], Will Coleda noted that more
tests are required to test the dumper
output of a PMC generated
from a JSON string. Nuno Carvalho created a patch, which was applied.
[perl #40299] [PATCH] Added readdir() function to os.pmc
In ticket [perl #40299], Kay-Uwe Huell included a patch for a
readdir
function. It was applied as r14480.
[perl #40231] [PATCH] t/compilers/pge/06-grammar.t written in PIR
In ticket [perl #40231], Nuno Carvalho rewrote
t/compilers/pge/06-grammar.t
in PIR. It was applied as r14504.
Leopold Toetsch felt that socket code is not very user-friendly, and wondered if there was a better way to generate constants. chromatic offered a comment, and Kevin Tew suggested looking at the PGE grammar for C99.
Users
RE: Big update to the Perl 6 Workplace Wiki
Conrad Schneiker reported that he had refactored the Perl 6 Workplace wiki. He clarified that the license would be the same as that used by the Perl 6 branch of the Pugs trunk. Mark Overmeer requested that CPAN6 and other Parrot projects be listed on the wiki.
Some followups to this thread can also be found in RE: Big update to the Perl 6 Workplace Wiki.
cperl-mode.el: twigils and opers
Trey Harris noted a problem in cperl-mode.el
with twigils which
caused $.x
to be interpreted as $.
followed by the x operator.
He asked for help in fixing it. Steffen Schwigon had been working on it,
and thought it worked, but suggested trying an older revision to see
if he had introduced bugs. Trey reported
that the old revisions don't work and offered some sample code.
Steffen offered to look in to it. He suggested that longer variable
names might work, but short ones were still broken.
Earlier, Michael Snoyman had a question on IO in Perl 6. This week,
Audrey Tang pointed him to examples in examples/network/http-server.pl
in the Pugs tree. Michael clarified that he was looking for threading
information, and Audrey supplied more information.
Compiler
Markus Laire reported a failure with compiling Pugs. Audrey Tang replied that Gaal Yahas is in the middle of adding some code and suggested trying again. Markus also found an error with r12939. Audrey was unable to duplicate the problem but tried to fix the code with r12945, which worked.
Christopher D. Malon quoted Agent Zhang's Pugs blog request for regular smoke
test results which could be included with Synopses on feather. Christopher
suggested integrating the synopsis-with-smoke with the existing smoke
infrastructure. He had some questions about how to proceed. Agent Zhang
was very interested in seeing the feature developed.
Ingo Blechschmidt offered some suggestions on implementation.
Christopher explained why he thought multi-versioning of the t
directory
was critical.
Meanwhile, Yuval Kogman noted two other smoke servers Christopher could look at. Jesse Vincent clarified some details on the second server Yuval mentioned, Chimps.
Acknowlegements
This summary was prepared using Mail::Summary::Tools, now 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