Perl 6 summary, 4-10 February, 2007

kudra on 2007-02-25T09:17:45

This week on the Perl 6 mailing lists

"> Errrr ... I'm the one who needs the tutorial, not the one to write it.

"That makes you a prime person to capture the questions it needs to answer! You can't evade the Responsibility Ponies that easily."

-- chromatic, responding to James E Keenan in 'What Skills Do We Need to Finish Parrot?'

Language

[svn:perl6-synopsis] r13570 - doc/trunk/design/syn

A commit by Larry Wall changed categories to allow multiple dispatch via the longest-token rule.

[svn:perl6-synopsis] r13575 - doc/trunk/design/syn

A commit by Larry Wall added Q// as a quoting form and removed qn//.

[svn:perl6-synopsis] r13577 - doc/trunk/design/syn

This commit by Larry Wall affected S04, S05, S06 and S12. It unified proto processing to implicitly allow re-declarations within a scope. It works on most declarators, including regex, token, rule and variables.

Multiple my declarations now issue a warning, which may be suppressed with a proto declaration of the variable. The multi keyword is optional in a proto scope, and the unique keyword "undoes" an outer proto.

recent changes

Larry Wall decided to explain what was driving the recent synopsis changes. For some time, he has been working on a Perl 6 grammar written in Perl 6; a snaphot is available. Audrey Tang noted that Pugs can parse it, but it still needs to be made to run, and run fast.

Parrot Porters

[PATCH] Update pirgrammar.pod

Klaas-Jan Stol submitted a patch with an updated version of pirgrammar.pod and pirgrammar.html which contains examples for most constructs. The documents are still being worked on.

Later, in '[PATCH] update pirgrammar.pod (replaces patch 2/4/2007)', he submitted an updated version.

These triggered some discussion in the thread '[PATCH] Updates for languages/PIR/docs/pirgrammar.pod'.

Q on Calling conventions; parameter order

Klaas-Jan Stol remarked that some Parrot calling conventions are unclear. He made a list of the order in which checks are done, as far as he can tell, and asked if it was correct and if cases were missing.

What Skills Do We Need to Finish Parrot?

Last week, James E Keenan asked what code remains to be written in Parrot. Allison Randal replied that IO, Events, Threads, Compiler tools interface, Object support and Exceptions need the most work. James then asked about resources for learning PIR. chromatic offered suggestions.

This week, Allison Randal replied that to date, she hadn't been able to get the relevant sections of "Parrot Essentials" released, and proposed that James create a PIR tutorial. She suggested docs/imcc/syntax.pod as an introduction. Klaas-Jan Stol mentioned that he'd been working on languages/PIR/docs/pirgrammar.pod.

James said that he needed a tutorial, and therefore wasn't suited to write one. chromatic disagreed, stating that inexperience left James in the perfect position to know what questions needed to be answered. Joshua Isom seconded, suggesting that James could start a FAQ by creating at least the questions. Bernhard Schmalhofer suggested adding questions to docs/imcc/imcfaq.pod.

It turned out that Dzema Dmitriy is working on a PIR tutorial to accompany a PIR bundle for Texmate.

[perl #41453] [BUG] Test failure in t/pmc/object-meths.t

In ticket [perl #41453], James Keenan reported a failure with a text in t/pmc/object-meths.t. Allison Randal identified it as stemming from r16783, and thought that o = new 'MyClass', $P0 should call init_pmc rather than init, even if $P0 is null. She asked Leopold Toetsch if the choice between init and init_pmc should be based upon the content of the argument. Leopold replied that that was not his intention; there should be just one init :vtable which is called, according to PDD03 calling conventions.

Allison summarized the situation as a feature request which had been submitted as a failing test. She changed the test to reflect the current situation (r17026) and submitted the feature request in ticket [perl #41528].

Prototype object model for Parrot

Allison Randal worked with Sam Vilain on a prototype object model written in PIR. She checked it in to compilers/smop. The next step is to implement the prototype at the PMC level, and incorporate much of the functionality of src/objects.c.

Kevin Te replied that he had just started to port Class::MOP to PMCs, and would be glad to help with this port as well.

[perl #41454] [PATCH] add 2 new tests for object method dispatch

Sam Vilain noted, in ticket [perl #41454], that inherited method dispatch was only tested with a simple parent/child class. In his attached patch, there are tests for three classes in a straight line, as well as a 4-class diamond inheritance.

[perl #41455] [NEW] and [PATCH]: tools/build/ops2pm.pl refactored

James Keenan submitted ticket [perl #41455]. It contained several patches, for test files and related libraries. They were added to the trunk as r17061 after passing on Darwin and Win32. Later they were confirmed to also work on Linux.

[perl #41456] [PATCH] add a Super PMC test for addparent-established inheritance trees

In ticket [perl #41456], Sam Vilain submitted a test which checks that if an inheritance tree is created with addparent, it performs just like one made with subclass.

[PATCH] Updates for languages/PIR/docs/pirgrammar.pod

Klaas-Jan Stol submitted a patch for pirgrammar.pod and pirgrammar.html in '[PATCH] Update pirgrammar.pod'.

chromatic remarked that he did not like keeping HTML in the repository, and wondered if it could be automatically generated because, unlike other generated files, it does not require flex and bison to produce it.

Klaas-Jan wondered if pod2html was available for all platforms where Perl can run. He thought it could be incorporated in the make procedure if that were the case. chromatic replied that it had been core since at least 5.8.0.

Re: Porting parrot on PDA

Hakim Cassimally replied to [Aldo Calpini's post]{http://thread.gmane.org/gmane.comp.lang.perl.perl6.internals/10966) and expressed an interest in porting to the Nokia N800.

Jerry Gay replied that he'd love to see Parrot ported to the N800 and suggested a way to start on it.

[PATCH] Updates and fixes for docs/imcc/syntax.pod

Klaas-Jan Stol submitted a number of patches for languages/PIR and docs/imcc/syntax.pod:

One patch, '[PATCH] Update pirgrammar.pod', also sparked some discussion.

[perl #40706] [TODO] Tcl - implement [close]

Earlier, Paul Cochrane submitted ticket [perl #40706] where he noted that languages/tcl/src/builtin/close.pir is only a stub.. Nuno Carvalho reported that a first implementation had been committed in r16933. There is still some discussion on how to best implement it for Tcl.

Users

Pugs on Windows

Gabor Szabo reported a 404 error when attempting to download a Win32 binary of Pugs and Parrot. Audrey Tang suggested a different URL. David Vergin noted that the page Audrey offered linked to a build from November 2006 and asked if there was a newer build available.

"delete" and maybe a problem with gather

Gilbert R. Röhrbein wanted to reorder an array so that the elements are randomly ordered. He noted a problem with delete which he wasn't able to describe, except for stating that it was linked to gather. The code was included.

Compiler

dpkg-buildpacke fails due to outdated 10smoke patch

Moritz Lenz reported that the current (r15185) revision of Pugs fails to compile on Debian when dpkg-buildpackage is used because the '10smoke' patch cannot be applied.

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