Re: Initial feedback on PAST-pm, or Partridge

2006-12-07 Thread Patrick R. Michaud
On Wed, Dec 06, 2006 at 10:33:45PM -0800, Allison Randal wrote: - In PGE grammars, what is the { ... } at the end of every proto declaration supposed to do? [...] But in the end, I didn't allow simple semicolon terminators simply because it wasn't valid Perl 6 syntax, and in many cases I

Re: Initial feedback on PAST-pm, or Partridge

2006-12-06 Thread Allison Randal
Patrick R. Michaud wrote: But come to think of it, if we had something like Capture PMCs available as a standard type (and an easy way to generate them in PIR), then the existing :vtable('init') would be quite sufficient. To steal from Perl 6's C \(...) capture syntax: $P0 = new 'Foo::Bar',

Re: Initial feedback on PAST-pm, or Partridge

2006-11-29 Thread Allison Randal
Patrick R. Michaud wrote: On Mon, Nov 27, 2006 at 09:20:08PM -0800, Allison Randal wrote: chromatic's suggestion is to replace the series of manual calls in HLLCompiler's 'compile' method with an iterator over an array of compiler tasks. I very much agree with chromatic -- indeed, this is

Re: Initial feedback on PAST-pm, or Partridge

2006-11-28 Thread Leopold Toetsch
Am Dienstag, 28. November 2006 08:51 schrieb Patrick R. Michaud: I'm half-way inclined to see that as a limitation in Parrot that needs to be fixed rather than a problem with these classes. Having dealt with this in both PGE and at least two PAST implementations, I certainly see it as a

Re: Initial feedback on PAST-pm, or Partridge

2006-11-28 Thread Leopold Toetsch
Am Dienstag, 28. November 2006 08:51 schrieb Patrick R. Michaud: But come to think of it, if we had something like Capture PMCs available as a standard type (and an easy way to generate them in PIR), then the existing :vtable('init') would be quite sufficient. Another note. Yes, a core

Re: Initial feedback on PAST-pm, or Partridge

2006-11-27 Thread Allison Randal
I'll split my replies into separate threads to make it easier to wrap our brains around individual chunks. Patrick R. Michaud wrote: Clear boundaries between components: (Fuzzy boundaries of abstraction make it difficult to allow for other implementations of the AST/OST or customization of

Re: Initial feedback on PAST-pm, or Partridge

2006-11-27 Thread Allison Randal
Patrick R. Michaud wrote: Also, out of curiosity, which high-level constructs in punie aren't working? What I've found so far are: - The top-level AST structure is off: my temporary hack to replace PAST::Stmt and PAST::Exp with PAST::Stmts is producing extra temporary variables in the PIR

Re: Initial feedback on PAST-pm, or Partridge

2006-11-27 Thread Patrick R. Michaud
On Mon, Nov 27, 2006 at 10:52:13AM -0800, Allison Randal wrote: Patrick R. Michaud wrote: Also, out of curiosity, which high-level constructs in punie aren't working? What I've found so far are: - The top-level AST structure is off: my temporary hack to replace PAST::Stmt and

Re: Initial feedback on PAST-pm, or Partridge

2006-11-27 Thread Patrick R. Michaud
On Mon, Nov 27, 2006 at 01:13:52AM -0800, Allison Randal wrote: .sub '__onload' :load :init # load your modules $P1 = new [ 'HLLCompiler' ] $P1.'init'('language'='punie', 'parse_grammar'='Punie::Parser', 'ast_grammar'='Punie::AST::Grammar') .end .sub 'main' :main .param

Re: Initial feedback on PAST-pm, or Partridge

2006-11-27 Thread Allison Randal
This fragment of response is about types, layers of abstraction and tracking information as the stages of compilation progress. And, I probably haven't said it enough yet, but the work you've done here is absolutely wonderful, Patrick. There's nothing like a solid chunk of working code to

Re: Initial feedback on PAST-pm, or Partridge

2006-11-27 Thread Allison Randal
Patrick R. Michaud wrote: I'll gladly add PAST::Stmt and PAST::Exp nodes if that's at all useful. Just because they're there doesn't mean a compiler has to use them. :-) Well, I came to the conclusion that PAST::Exp was useless a while ago. (Its entire point of existence was as a dummy

Re: Initial feedback on PAST-pm, or Partridge

2006-11-27 Thread Patrick R. Michaud
On Mon, Nov 27, 2006 at 05:28:59PM -0800, Allison Randal wrote: Patrick R. Michaud wrote: I'll gladly add PAST::Stmt and PAST::Exp nodes if that's at all useful. Just because they're there doesn't mean a compiler has to use them. :-) Well, I came to the conclusion that PAST::Exp was

Re: Initial feedback on PAST-pm, or Partridge

2006-11-27 Thread Allison Randal
Patrick R. Michaud wrote: Now implemented in r15882 as shown above, sans the helper 'init' method (which I'll add later tonight). Examples are in languages/perl6/ and languages/abc/ . Definitely an improvement. Hmm... okay, I see what you're going for. Creating subclass of HLLCompiler for

Re: Initial feedback on PAST-pm, or Partridge

2006-11-27 Thread Allison Randal
This fragment of a reply is the random bits that didn't make it into other topic-centered replies. Patrick R. Michaud wrote: On Sun, Nov 26, 2006 at 08:30:32PM -0800, Allison Randal wrote: Excellent. Just as a general overall response -- PAST-pm is by no means finished, so many of the items

Re: Initial feedback on PAST-pm, or Partridge

2006-11-27 Thread Patrick R. Michaud
On Mon, Nov 27, 2006 at 09:20:08PM -0800, Allison Randal wrote: Patrick R. Michaud wrote: Now implemented in r15882 as shown above, sans the helper 'init' method (which I'll add later tonight). Examples are in languages/perl6/ and languages/abc/ . So, with a thumbs up on that

Re: Initial feedback on PAST-pm, or Partridge

2006-11-27 Thread Patrick R. Michaud
On Mon, Nov 27, 2006 at 10:13:21PM -0800, Allison Randal wrote: This fragment of a reply is the random bits that didn't make it into other topic-centered replies. ...and some quick responses before turning in for the night... Currently Parrot uses '__init' as the method for initializing new

Initial feedback on PAST-pm, or Partridge

2006-11-26 Thread Allison Randal
Overall, the POST implementation is usable and I really like the new HLL compiler module. I've got Punie working with the new toolchain to the point that it's generating valid PIR code for many low-level constructs, but some of the high-level constructs that worked under the previous toolchain

Re: Initial feedback on PAST-pm, or Partridge

2006-11-26 Thread Patrick R. Michaud
On Sun, Nov 26, 2006 at 08:30:32PM -0800, Allison Randal wrote: I had to poke into the guts of HLLCompiler, the new PAST, and the new POST a fair bit in the process of getting Punie to work with them, so my comments here are a mixture of user experience and implementation details. I've

Re: Initial feedback on PAST-pm, or Partridge

2006-11-26 Thread Patrick R. Michaud
On Sun, Nov 26, 2006 at 08:30:32PM -0800, Allison Randal wrote: Overall, the POST implementation is usable and I really like the new HLL compiler module. I've got Punie working with the new toolchain to the point that it's generating valid PIR code for many low-level constructs, but some of