* Limbic_Region patiently waits for a "the most productive day in Pugs yet...." journal entry
But, indeed, today is a quite important day to the Perl 6 project. Two announcements happened within the same hour:
Taken together, this not only means Pugs can call PGE natively, but also that we no longer need
pugscc to compiler Perl 6 to IMC code anymore; Pugs will soon be able to turn Perl 6 into IMC in memory, feed it into the embedded Parrot, which will run it in blazing JIT speed. Jeff Horwitz, mod_parrot leader and new lambdafolk, is working on getting all this Just Right.
Oh, and there is news #3. I pointed Leo to Jhc, a Haskell compiler. Grin, the low-level intermediate language it uses, is very simple, and a Grin to C compiler is merely 300 lines. I think it would be relatively straightforward to create a Grin to Parrot compiler (or even a Grin to Perl 6 compiler), which would make Pugs itself -- indeed, an entire Haskell compiler -- run on Parrot. We will probably spend some time, during the two-week hackathon time after the Austrian Perl Workshop, to look into this.
There are lots of other developments today, as usual:
$real_workin Perl 5 today, but I can't stop but noticing the
my ($x, undef, $y) = 1..3;idiom, which was not supported in Pugs. So now Pugs supprots undef in LHS lists.
various reasonsumbrella. Now I just need them to show up in different shades of colours in
Juncconstructor into the more consistent
state $xsupport, which is like Perl 5's old
my $x if 0, but this one works sanely.
stateas class variables, and
myas instance variables. iblech then proceeded to decorate it with helpful comments.
map, topicalization, and add
Whew, that's a lot for one day. Oh, and finally, another good news: I don't need to struggle to derive a transformer from SPJ et all's subcontinuation paper anymore, because Oleg Kiselyov et all has just finished it, and they generously agreed to let Pugs use their CC_2CPST module freely. Many thanks to these scintilatting lambdafolks for sharing their wizardry!