Day 95: Full Pugs/Parrot round tripping!

autrijus on 2005-05-06T21:08:47

I'm glad to report that Pugs is now a registered Parrot compiler:

$ cat roundtrip.p6
eval_parrot '
    compreg $P0, "Pugs"
    $S0 = "say qq[There... and back again!]"
    $P0 = compile $P0, $S0
    invoke $P0
';

$ ./pugs roundtrip.p6
There... and back again!
Once PGE has the ability to invoke callback code from the rules, it can then call back to Pugs directly, and hence finishing the basic circle needed for full bootstrapping.

This also makes it possible to write a pure-perl eval and inline for eg. Tcl. I was going to show an example here, but Coke discovered that the Tcl compiler interface is broken for mysterious reasons, so I need to punt on this one. Hopefully it will be fixed in the imminent Parrot release...