This file is part of the Perl 6 Archive

Note: these documents may be out of date. Do not use as reference!

To see what is currently happening visit

Perl 6 Summary for 2005-08-15 through 2005-08-22


Welcome to another monday summary, which hopefully provides some evidence that mondays can get better. It always feels like writing summaries is an uphill battle, perhaps I should switch to writing about Perl 6 Language first and Perl 6 Compilers last. Then it will be downhill... Maybe next time.

Perl 6 Compilers

More Random Pictures

Autrijus posted links to two more images he had created. This time the images were not about pugs, but were just kind of cute. He also provided an explanation of one when prompted.

Methods as Functions

Yiyi Hu noticed that a method of one argument could not be used as function. Autrijus offered Yiyi a commit bit, but also kindly posted the resolution to Perl 6 Language. Thanks Autrijus!

Methods on Code Blocks

Yiyi Hu discovered that { a b c }.paris would cause pugs to spin out of control. Luke Palmer fixed it. Hopefully one of the two of them added a test...

Autrijus's Secret Sauce

Kris Bosland asked a few question I have been wondering about Autrijus new graphics. Autrijus kindly provided the answers.

Documentation Attack

Kevin Tew has decided the best way for him to delurk is to update documentation for Pugs. chromatic and Dudley Flanders both provided support, information, and suggestions for him.

Neko VM

Nicolas Cannasse announed his release of a high level multi language VM and wondered what others thought of creating a Perl 6 to to Neko compiler. Autrijus and Leo provided a few corrections and comments.


The FAQ, She is GONE!

Amias Channer noticed that the faq on was gone. While he was warnocked, the faq appears to be back.

Platform Specific C Files

Stephen Hill wanted to know where to put a platform specific C file to provide missing functionality. Leo provided a few friendly pointers.


Amos Robinson provided an implementation of "get" for TclArray. Will greatfully applied the patch.

ICU Being Passed Up

Adrian Lambeck wondered if icu was being passed up by Warnock applied. So Adrian took matter into his own hands by providing a possible solution. Jerry Gay offered to take ownership of the problem if no ICU enabled soul picked it up. No progress reports since then though...

Java on Parrot

Tim Bunce asked some preliminary questions about Java on Parrot. I provide preliminary answers, and Nattfodd and Autrijus posted links to related work. The important question of what it should be called remained unraised. I vote for "Jot".

gdbmhash.t Failures

Tim Bunce noticed that gdbmhash.t was failing with an unhelpful error message. Andy Dougherty provided a patch that made the error message slightly more helpful. Jerry Gay applied it.

BEGIN Blocks

Leo posted some thoughts and information about BEGIN blocks in Perl 6 and the @IMMEDIATE pragma in PIR, it involved creating constant PMCs and freezing them into the bytecode. Then he made it work. -- thoughts -- actions

Amber for Parrot

Citing chatter overheard on its intelligence networks Parrot raised the terror alert to Amber, or maybe Roger Browne released version 0.2.3 of his "Eiffel-like" scripting language, Amber. I can never keep track of these things.

Tcl parray

Amos Robinson offered to provide an implementation of Tcl's parray inluding tests. Will wanted to apply it, but the attachment did not come through.

Parrot vs Neko

Nicolas Cannasse wondered why Parrot performed so poorly on the fib benchmark. Leo explained that this benchmark stressed a currently unoptimized portion of parrot (function calls). He also provided a few pointers on which benchmarks parrot did well on.

Using PMCs from C

Klaas-Jan Stol's Lua compiler uses only PMCs. Thus he wanted to know how to access these PMCs from NCI functions. Leo provided an answer, but also suggest he looked at the new calling conventions which would do auto-conversion in both directions.

PMC for Reference Counting

Nicholas Clark posted a relatively full analysis of how the DODs registration system could be generalized for further reuse. He also asked for ideas about names. I think the whole thing looks good and that AddrRegistry is a good name. Perhaps that has too many vowels... AddrRgstry and sometimes AddrRgstr might work.

Perl 6 Language

Type Inferencing in Perl 5

Autrijus (while discussing type inference in Perl 6) recalled that there was a google summer of code project on Type Inferencing in Perl 5. Gary Jackson, the summer coder, provide a more detailed description of his work.


Daniel Brockman wondered if +"hello" still evalutated to a NaN. Larry reasoned that it might and then went on to speculate about the what the extra exception information would do when a Num gets jammed into a num.

Generic Classes

Autrijus was confused by the frequent use of generic classes as he thought that only roles were type parameterizable. Larry explained that roles could be promoted to classes pretty easily but that the distinction between them was still useful and meaningful.


David Formosa posted a revised GC API after the previous discussion. More discussion ensued.

Name Conflicts

Yiyi Hu wondered what would happen if two lexicals were declared with different declarators. Larry answered that it would be a compile time error.

Parsing Numbers

Ingo Blechschmidt posted a list of different possible ways to write numbers, asking which were valid and which not. Many weighed including Larry.

Bindings and Routine Signatures

Luke Palmer noticed that if one implemented binding as anonymous subroutines, then binding existing variables created delimited continuations and binding globals full continuations. While intersting, Warnock applies.

visibilty of $?SELF and $?CLASS

Stevan Little wondered what scopes would have $?SELF and $?CLASS available to them. Larry provided answers.

"Time to take her home her dizzy head is conscience laden"

Amusingly enough the thread about time has a big gap between July 5 and August 15... The thread also reminded me why I have an analog watch.

Is Params::Validate Necessary?

Dave Rolsky hoped that Params::Validate would no longer be necessary in Perl 6. This led to much discussion of the parameter declaration syntax in Perl 6 and a few suggested changes.

Constants are Dead; Long Live Read-only!

Apparently is constant has been replaced by is readonly . The discussion contains mores than that, but that is my take away point.

Multidimensional Hyper Ops

Luke Palmer wondered how hyper ops would work on multi dimensional inputs. The short answer is recurse then possible, apply when not.

Serializing Code

Yuval Kogman posted an analysis of a new HTML::Prototype module that hings on serializing code between the various layers of implementation. Many folks thought this was cool and discussion ensued.

Slurpy Hash

Luke Palmer wondered if one could bind a slurpy hash by name. The answer is no. -- question -- answer

Making Pairs Less Magical

Luke Palmer wants pairs to be less magical, as their special treatment has caused much confusion of late. Much discussion continues.

Lazy Scalars?

Yiyi Hu wants scalars that are evaluated lazily. Ingo Blechschmidt, Luke Palmer, and Larry all provided ways to achieve that ends. The simplest solution is to create an anonymous closure it seems.

Using Foreign Languages

Ingo Blechschmidt wondered how to use identifiers from other languages which do not have compatible identifiers. Yuval reasoned that it would be dangerous to try and accomodate them to closely. Perhaps something like the Sinhala "karenawa" which marks the preceding word as being foreign (english specifically).

Symbolic References

Ingo Blechschmidt wondered how symbolic references of magic variables like $?SELF would be done. Larry provided a few answers.

The usual footer

To post to any of these mailing lists please subscribe by sending email to <[email protected]>, <[email protected]>, or <[email protected]>. If you find these summaries useful or enjoyable, please consider contributing to the Perl Foundation to help support the development of Perl. You might also like to send feedback to [email protected] -- The Perl Foundation -- Perl 6 Development site -- Parrot Blog aggregator