This Week in Perl 6, August 2-9, 2005
by Matt FowlesAugust 11, 2005
Welcome to another summary, brought to you by Chinese food. The attentive among you will notice that this summary is a day late, because I did not feel like doing it yesterday. If only I could do that at work.
Perl 6 Compilers
Pugs Argument Processing
Vadim Konovalov submitted a patch to Pugs affecting @*ARGS
processing. In the world of Pugs, this means that he received a committer bit
and applied it himself.
Type Inferencing
Autrijus wants to type push Perl 6's type inferencing as far as it can go (and maybe a little beyond). To this end, he has been soliciting input from all comers. It looks like he has put a lot of thought and research into it. One day, I expect to be thanking Autrijus for important (if likely difficult to understand) compiler errors and warnings.
WWW::Kontent
Release
Brent "Dax" Royal-Gordon announced the release of WWW::Kontent
0.01: "a flexible web content management system written in Perl 6 and
executable with Pugs." It looks nifty to me. Maybe we need to fight Ruby on
Rails with Perl 6 on Pylons or something. That doesn't quite have the right
ring to it, but there has to be something catchy there somewhere.
Array Interpolation
0Phil Crow wondered why Pugs would not interpolate his arrays. Ingo
Blechschmidt and Patrick explained that @foo does not interpolate,
but @foo[] does. I sense a frequently asked question here.
Pugs 6.2.9 Released
Autrijus announced the release of Pugs 6.2.9. It is full of nifty new features, including the ability to lay on hands!
White Space Before Parens
Andrew Shitov wondered why Perl 6 no longer allowed white space between
function names and parens. Autrijus explained that it allows print
(1+2)*3 to print 9 instead of 3. As someone who just last week explained
the peculiarity of Ruby printing 3 in the above situation to a complete novice,
I welcome the change.
Container Model Pictures
Autrijus posted a few pretty pictures explaining the compiler model and the container model. While the compiler model was readily understandable to me, the container one wasn't. Fortunately, when prompted, Autrijus provided a great explanation to accompany the diagram.
PxPerl 5.8.7-4
Upon discovering that Pugs released a new version, Grégoire Péan released a new version of PxPerl that includes the new Pugs. I (and many others) thank Grégoire for lowering the entry bar for Perl 6 hacking on Windows.
Hosting Lexical Declarations
Declaring lexicals mid-block confuses things, especially declaring them
mid-statement, as in $x = $x + my $x if $x;. Autrijus proposed
hoisting declarations of lexicals to the top of the block. Unfortunately, this
can make CALLER:: do funny things. Thus, he suggests outlawing it.
Larry agreed.
Parrot
Export
LD_LIBRARY_PATH
Bdonlan noticed that Parrot's test suite was not setting
LD_LIBRARY_PATH, which makes tests fail. Leo pointed out that most
users manually set their LD_LIBRARY_PATH, as Parrot often needs
this, but he agreed that the tests should do it just in case.
Improved Argument Processing for ops2c.pl
Tom submitted a patch that improves the command-line argument processing powers of ops2c.pl. Warnock applies.
ANSI Escape Codes in Parrot
Klaas-Jan Stol was having trouble putting special characters like ANSI clear
screen and "¥" into strings. Nick pointed out that he need to be careful
with encodings and escapes. In Parrot, \O is an octal escape. In
Lua, it is apparently not.
Parrot 0.2.3
Leo announced the release of Parrot 0.2.3, "Serenity," which reminds me, Firefly is coming back soon! I can't wait! Oddly, Google seems to have swallowed his release notice, but not his warnings.

