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-02-08 through 2005-02-22


Welcome to yet another fortnight summary. Lately p6l has been out stripping p6i in volume. While this used to be the norm, lately it has become a rare occurrence. Strange... Anyway, this summary would be brought to you buy cookies, but I ate them all. So instead this summary is brought to you by the remaining chocolate chips. In other news, Autrijus Tang has just officially been promoted to first name only status in the summaries based on both his stellar work with Pugs and his highly identifiable name. He now joins the ranks of Larry, Dan, Madonna, and Leo.

Perl 6 Language

do { } while?

David Storrs wanted to know what the best way to say do { } while($foo); was. Larry told him that s/do/loop/ would suffice.

nest as a primitive looping operation

Timothy Nelson gets credit for resurrecting the oldest thread I have seen brought back recently. Over two years ago, he mentioned a powerful looping structure that allowed for recursion. Now he has found a use for it.

Loop Entry

Joe Gottman wanted to execute a closure every time a loop was entered, not upon every iteration. He thought ENTER happened only once ever, but it turns out that it will do what he wants.

pop %hash

Rod Adams wants to be able to pop a key value pair our of a hash. Others wondered what it would be used for. Someone mentioned an OrderedHash...

higher order operators

Timothy Nelson wanted to have meta-operators. Larry gave him the full unicode character set with which to define them. Tim was happy.

none and nor delimiter

Thomas Sandla\xDF suggests using \ as a none junction delimiter. He then extended this idea to provide a logical nor, \\ . Autrijus suggested ! for none. There was some argument about whether nor deserved such huffmanization. Also, I think that the difference between // and \\ would continually escape me. I have enough troubles writing code to deal with windows filesystems.

Kudos to Autrijus

Damian proudly welcomed Autrijus to the ranks of the last-nameless-ones. He also lauded his amazing work at forcing a lazy language to pull a lazier one. I think we all agree.

containers vs object references

Rod Adams wondered whether there was a litmus test that could determine if something deserved its own sigil. The answer appears to be mostly history. Larry suggested a simplistic way to create new sigils, although it would not provide interoplation. I think a blessed method for defining new sigils which do interpolate and provide some sort of type constraint and context would be really nifty. Also I want a million dollars in small, non-consecutive, unmarked bills. If you have either of these please mail it to me.

printing true

Autrijus wondered about true and fasle. Are they just 1 and 0? #t and #f? Larry answered bool::true and bool::false, but true and false would suffice when there was no ambiguity.

quoted => LHS

Juerd wondered if = > auto-quoted its left hand side. Yes.

"@" x 75 ~ $zap =?= ("@" x 75) ~ $zap

Juerd mistakenly thought that ~ bound tighter than x. Only unary ~ binds that tightly, so he is safe.

getting the key|value of a pair

Steve Peters wondered how he could get the key or value from a pair. It turns out that the .key and .value method will do what he wants until some twisted soul overrides them...

Junctiuons and Autothreading

By far the longest topic this week was junctions. Some people worry that their autothreaded behavior will cause plagues to ravage the earth and novices programmers to go blind. Others feel that without it Perl6 will be a language suitable only to pond scum and cobol programmers. While one side believes that autothreading repition of sid effects will crash any database that interacts with Perl6, the other side believes that requiring extra pragmas to unlock their full power will prevent junctions from curing cancer. Either way someone is going to be unhappy. It looked like the pendulum was swinging towards autothreading, but its chief proponenet will be away next week, so who knows if it can survive undefended. My favorite suggestion in all of this was to make Perl6 a pure functional language and introduce monads.

nullary vs nonslurpy

Autrijus found it distressing that to get his quicksort to sort quickly he had to make an empty signature slurpy. Larry assured him that it was OK. This also led to a question of MMD tiebreaking. Remember to attach an is default if you want your ties broken!


Steve Peters had a few more questions about pairs, which made Osfameron notice that he could use pairs like lisp's dotted pairs. Larry admit that he could and was hoping that no one would notice.

octal strings

Luke Palmer wondered what strings would change radix and to what. The concensus was that something needed to change but they were not exactly sure what...

Perl 6 Compilers

Pugs 6.0.8

Pugs continues to approach 2 * \pi with the release of 6.0.5 and later he decided that he should release more stuff and put out 6.0.8. It has many new features and a much improved test suite. You should contribute tests. All the cool people are. -- 6.0.5 -- 6.0.8

list of builtins

Autrijus wondered if there was a list of builtins anywhere. Patrick pointed him to his start.

Perl 6 Now

Autrijus wondered if the unit tests for Perl 6 Now where available. Scott Walters told him that they were public domain. Autrijus gleefully sicked a small, ugly dog on them...

pugs tests

??? proved that he was cool by providing pugs tests. So did Steve Peters, Benjamin Smith, and Stevan Little. I bet you wished you were cool too. -- ??? -- Steve -- Benjamin -- Stevan

Autrijus registered and populated it.

%*ENV in pugs

Rafael Garcia-Suarez wanted access to %*ENV. So he added it with tests.



Yves Breitmoser wants to improve the support for GNU R in perl. Aaron Sherman suggested using parrot asa a back-end for Parrot which would allow any language that target parrot to use R.

make html

Markus Amslser submitted a patch to fix make html. Leo applied it.

Win32 bind(accept(listen()))

Markus Amslser submitted a patch adding bind, listen, and accept on win32. Leo applied it.

commit priveldges

Bernhard Schmalhofer received commit priveledges in recognition of his many high quality patches. Congrats Bernhard!

tiny webserver

Markus Amslser also provided a patch to allow his tiny webserver to run on linux. Leo applied it.

FreeBSD build failure

Adriano Ferreira fixed some problems with the FreeBSD build. Leo applied the patch.

Parrot 0.1.2

Will Coleda continued pushing for a 0.1.2 release. Leo told him that there would be a release after the German Perl Workshop which should be ending soon...

Linux PPC

Leo attempted to fix the longstanding issues with linux PPC configure.

failing python tests

Andy Dougherty notices that some of the dynclasses/py*.t tests were ailing. He is working with Leo on providing enough information to solve the problem.


Christian Tismer posted to the list informing everyone about the PyPy sprint at Washington DC's PyCon 2005. As they are eager to compare notes with other developers.

string_init and ICU data dir

Ron Blaschke noticed that Parrot would choke on an empty ICU data dir. Leo fixed it.

Win32 parrot

Ron Blaschke wants to try and get Parrot building on Win32 better. He has offered to add the necessary PARROT_API macros and do other footwork. -- PARROT_API -- gdbm linkage -- outdated rt ticket -- old rt ticket -- fix libnci_test -- old ticket -- out of date ticket --gdbm troubles


Bob Rogers wants to make tailcalls without knowing the last calls return values. Currently he just lies to imcc to make it work. Leo pointed him to interpinfo .INTERPINFO_CURRENT_CONT and also suggested that adding a tail_call op would be a good idea.

The usual footer

Posting via the google groups interface does not work. 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