Sign In/My Account | View Cart  
advertisement


Listen Print

This Week in Perl 6, through August 2, 2005

by Piers Cawley
August 08, 2005

In case you were wondering, Darwin ports didn't work its magic and I still don't have a working Haskell compiler. Thank Juerd for feather, even if I did have to turn my laptop upside down to read the MOTD. Rot-180: oN hes +snf

This week in perl6-compiler

There were 12 messages in the compiler list this week. Either everyone has decamped to IRC or OSCON, or the compiler's getting mature enough that most of the interesting discussion about it happens in perl6-language as Autrijus and others seek clarification.

Some Thoughts on PIL/Complete Type Inferencing

Autrijus has been doing some thinking on the next version of PIL (The Pugs Intermediate Language), which will be a little less tightly coupled with PIR/Parrot. He outlined his thinking (which he seems to have directed towards being able to do useful things and optimizations with Type information) in this thread.

Definition of Containers

Autrijus announced that he'd checked in the first part of the new PIL run core. In case you were wondering, containers are the things that Perl variables have as values. They're where things like tie magic happens.

Hoisting Variable Declarations

Hands up! How does the scoping of

 
   $x = $x + my $x if $x;
   #1   #2      #3    #4
}

work in Perl 6?

In Perl 5, all those $xs refer to the same thing. In Perl 6, #1 and #2 refer to $OUTER::x.

This behavior (lexical scopes really are lexical) makes a compiler writer's head hurt. Autrijus outlined a plan for making it work.

Meanwhile, in perl6-internals

Dominance Frontier

Curtis Rawls had posted a patch adding "dominance frontiers" to IMCC. (I'm afraid I don't know what a dominance frontier is, but it sounds like it might be fun.) This week, he wondered if someone could apply it any time soon, because he had another patch that depended on it.

It turned out that the patch broke a test or two, and Will Coleda, Andy Dougherty, Patrick, and Leo set about helping to track it down. It looks like they have found the issues, and work continues to fix them.

make languages Should Continue After Building a Language Failed

Have you ever looked through the Parrot Makefiles and wondered what the deal is with .dummy? If so, this thread explains everything.

PMC Syntax

Klaas-Jan Stol asked if there's any documentation on the complete syntax for .pmc files when writing PMCs. Apparently there isn't, apart from the source of pmc2c.pl, but Will Coleda and Leo helped Klaas-Jan out.

Embedding ParTcl

Thilo Planz had some problems embedding ParTcl into a PIR application. It mostly worked, but he had a few questions. Will Coleda helped out again.

Compiling Dynamic PMCs

Klaas-Jan had more questions about compiling PMCs--dynamic ones, this time. It appears that the docs he was following didn't quite reflect reality. Leo solved the problem and Klaas-Jan sent in a doc patch. Hurrah!

Parrot Cannot Start up if STDERR or STDOUT is Closed

Michael Schwern pointed out that Parrot won't start if you close either STDOUT or STDERR, eschewing the standard joke response ("Doctor, it hurts when I do this." "Well don't do that, then.") Jerry Gay wrote a test and Leo fixed it.

Accessing Hash with Strings/Keys

Apparently, Klaas-Jan is working on writing a Lua compiler to target Parrot. He's obviously working on it a good deal at the moment. :)

He wanted to know how he could extend the standard Hash PMC to return None if there is no key found. As is traditional in these cases, Leo helped him out. It turns out that part of the problem is that pmc2c.pl isn't that strict in its syntax checking. If anyone reading this has the tuits ...

Does It Cost Anything to Use a Big PMC Everywhere?

In a move guaranteed to gladden at least Dan Sugalski's heart, Amir Karger popped up to say that he's working getting the Z-machine interpreter working. He wondered if there was any way of dedicating a register to a particular constant in order to avoid copying a global every time he called a sub. Leo helped out.

Super!

Leo announced that he'd added a new Super PMC which will make it easier to call superclass methods.

Lua Project

Klaas-Jan unveiled his project to get the Lua compiler targeting Parrot. It's apparently "far from complete," but hey, it's good to welcome yet another language to the Parrot cage.

Announcing mod_parrot 0.3

Jeff Horwitz announced the release of mod_parrot 0.3, complete with support for all Apache hooks, autogeneration of request_rec methods, and a mod_pugs proof of concept. Crumbs. And there's more. Check out the announcement, download the code, and start making Apache do weird things. Go on, you know you want to.

Pages: 1, 2, 3

Next Pagearrow