This Fortnight in Perl 6, Feb. 9-22, 2005
Welcome to yet another fortnight summary. Lately, p6l has outstripped p6i in volume. While this used to be the norm, it has become a rare occurrence. Strange. Anyway, this summary would be brought to you by 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 received a promotion to first-name-only status in these 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.
do
{ } while?David Storrs wanted to know the best way to say do { }
while($foo);. Larry told him that s/do/loop/ would
suffice.
nest
as a Primitive Looping OperationTimothy Nelson receives 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.
Joe Gottman wanted to execute a closure on every loop entrance, not upon
every iteration. He thought ENTER happened only once ever, but it
turns out that it will do what he wants.
pop
%hashRod Adams wants to be able to pop a key value pair out of a hash. Others wondered what to use it for. Someone mentioned an OrderedHash.
|
Related Reading
Perl 6 and Parrot Essentials |
Timothy Nelson wanted meta-operators. Larry gave him the full Unicode character set with which to define them. Tim was happy.
Thomas Sandlaß suggested 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 trouble writing code to deal with Windows filesystems.
Damian proudly welcomed Autrijus to the ranks of the last-nameless-ones. He also lauded Autrijus' amazing work at forcing a lazy language to pull a lazier one. I think we all agree.
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 interpolation. 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, please mail it to me.
Autrijus wondered about true and false. Are they just 1 and 0? #t and #f?
Larry answered bool::true and bool::false, but
true and false will suffice when there is no
ambiguity.
Juerd wondered if => auto-quotes its left hand side. It
does.
"@"
x 75 ~ $zap =?= ("@" x 75) ~ $zapJuerd mistakenly thought that ~ bound more tightly than
x. Only unary ~ binds that tightly, so he is
safe.
Steve Peters wondered how he could get the key or value from a pair. It
turns out that the .key and .value method does what
he wants until some twisted soul overrides them.
By far the longest topic this week was junctions. Some people worry that their auto-threaded behavior will cause plagues to ravage the earth and novices programmers to go blind. Others feel that without it Perl 6 will be a language suitable only to pond scum and cobol programmers. While one side believes that auto-threading repetition of sid effects will crash any database that interacts with Perl 6, the other side believes that requiring extra pragmas to unlock their full power will prevent junctions from curing cancer. Either way someone will be unhappy. It looked like the pendulum was swinging towards auto-threading, but its chief proponent will be away next week, so who knows if it can survive undefended. My favorite suggestion in all of this was to make Perl 6 a pure functional language and introduce monads.
Autrijus found it distressing that he had to make an empty signature slurpy
to make his quicksort sort quickly. Larry assured him that it was okay. This
also led to a question of MMD tie-breaking. 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 admitted that he could and had hoped that no one would notice.
Luke Palmer wondered which strings would change radix and to what. The consensus was that something needed to change, but no one is sure what.
Pugs continues to approach 2 * π with the release of 6.0.5. Later Autrijus 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.
Autrijus wondered if there was a list of builtins anywhere. Patrick pointed him to his start.
Autrijus wondered if the unit tests for Perl 6 Now were available. Scott Walters told him that they were public domain. Autrijus gleefully sicced a small, ugly dog on them.
??? proved that he was cool by providing Pugs tests. So did Steve Peters, Benjamin Smith, and Stevan Little. I bet you wish you were cool too.
Autrijus registered pugscode.org and populated it.
%*ENV
in pugsRafael 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 as a back-end for Parrot, which would allow any language that targets Parrot to use R.
make
htmlMarkus Amslser submitted a patch to fix make html. Leo applied
it.
bind(accept(listen()))Markus Amslser submitted a patch adding bind,
listen, and accept on Win32. Leo applied it.
Bernhard Schmalhofer received commit privileges in recognition of his many high quality patches. Congrats Bernhard!
Markus Amslser also provided a patch to allow his tiny webserver to run on Linux. Leo applied it.
Adriano Ferreira fixed some problems with the FreeBSD build. Leo applied the patch.
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.
Leo attempted to fix the longstanding issues with Linux PPC configure.
Andy Dougherty noticed failures on some of the dynclasses/py*.t
tests. 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. They are eager to compare notes with other developers.
string_init
and ICU data dirRon Blaschke noticed that Parrot choked on an empty ICU data dir. Leo fixed it.
Ron Blaschke wants to improve Parrot building on Win32. He has offered to
add the necessary PARROT_API macros and do other footwork.
Bob Rogers wants to make tail calls without knowing the last call's return
values. Currently he just lies to IMCC to make it work. Leo pointed him to
interpinfo .INTERPINFO_CURRENT_CONT and also suggested
adding a tail_call op.
Posting via the Google Groups interface does not work. To post to any of these mailing lists please subscribe by sending email to perl6-internals-subscribe@perl.org, perl6-language-subscribe@perl.org, or perl6-compiler-subscribe@perl.org. 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 ubermatt@gmail.com.
Perl.com Compilation Copyright © 1998-2006 O'Reilly Media, Inc.