in reply to Re^2: TPF and Pugs
in thread The Perl Foundation Wants to Hear From You
A while ago, I attempted to get a better grasp of what the respective problem spaces actually are, from A Plan for Pugs. I found the article to be a lot of fun, and inspiring, but kind of difficult to understand, probably because it deals with concepts that are a little beyond me. But at any rate, the money quote from Autrijus, or at any rate one money quote:
Another money quote apropos this theme:Autrijus: Actually, I think Pugs and Parrot will meet in the middle. W +here Pugs AST meets Parrot AST and the compiler is written in Perl 6 +that can then be run on Parrot. chromatic: I thought Pugs would get rewritten in C for Parrot? Autrijus: No, in Perl 6. chromatic: Can GHC retarget a different AST then? Autrijus: It can, but that's not the easier plan. chromatic: It's easy for me. I don't plan to do it. Autrijus: The easier plan is simply for Pugs to have a Compile.hs that + emits Parrot AST. Which, I'm happy to discover yesterday, is painles +s to write. (Ingy and I did a KwidAST->HtmlAST compiler in an hour, t +ogether with parser and AST.)
Now, if only I understood better what these guys were talking about... someday.....chromatic: Are you compiling it to native code now? I remember that be +ing a suggestion a few days ago. Autrijus: Pugs itself is compiled to native code; it is still evaluati +ng Perl 6 AST, though. chromatic: It's like Perl 5 in that sense then. Autrijus: Yes, it's exactly like Perl 5. Have you read PA01? chromatic: I have. Autrijus: Cool. So yeah, it's like Perl 5 now. The difference is B::* +is trivial to write in Pugs chromatic: Except maintainable. Autrijus: And yeah, there's the maintainable bit. Pugs is <4k lines of + code. I think porting Pugs to Perl 6 will take about the same number + of lines, too.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: TPF and Pugs
by chromatic (Archbishop) on Dec 12, 2005 at 01:57 UTC | |
| A reply falls below the community's threshold of quality. You may see it by logging in. |