Perl 6 summary for 2-9 September, 2006

kudra on 2006-09-10T14:01:15

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.

C<when> outside of C<given>

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

Some extra reference types

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.

#parrotsketch logs: 05SEP06

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.

(Non)shared interpreter data

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.

socket related constants

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.

IO::Socket, or any IO

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

Compiling pugs r12925 failed

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.

synopses on smoke server

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