Day 159: Night before 6.2.8. A plan!

autrijus on 2005-07-12T14:23:54

The pre-release bughunting fest went all day long, amassing over 80 commits and still counting upward. PIR now passes all sanity tests again; the main test suite is down to 2 failed test files.

Aankhen, Stevan, bsmith, dudley, fglock, gaal, geoffb, iblech, nothingmuch, putter, rafl all chimed in with bugfixes and more test cases.

putter interviewed me about the imminent, PIL-based "Pugs as the Compiler" change, and put up a writeup in docs/notes/plan which received lots of editing help from geoffb. If you were wondering what's the Next Big Thing for Pugs development, please check it out -- I think I'll merge it with my (rejected) hw2005 paper to produce the much delayed Pugs Apocryphon 2...


PIL-to-cpp?

vijucat on 2005-07-13T06:47:57

This is very cool! Is there any plan to do a PIL-to-Cpp (or C) emitter? Native compilation would be the killer feature in Perl 6 (at least for me). Excuse if the question is dumb! No idea about how XS is being dealt with in Perl 6...

Re:PIL-to-cpp?

JonathanWorthington on 2005-07-13T11:14:10

Parrot can generate a native executate from PIR, so once Pugs compiling to Parrot is in place, generating native executables is pretty much there.

As for XS in Perl 6, as far as running Perl 6 on Parrot goes, Parrot has a native calling interface to easily call into C libraries. So maybe we'll not have XS style things, but simply write a PIR module to directly interface with the required C library.

Re:PIL-to-cpp?

autrijus on 2005-07-13T14:31:56

It's not a dumb question; it's entirely valid. However, we probably will not have the resource to directly compile to runtime-less C code, since that will mean maintaining a set of primitive functions.

However if indeed we can target Haskell with PIL, then it is conceivable to generate runtime-less ANSI C via Jhc, an experimental Haskell compiler. This is in its early speculative stage, though.