On 2/7/06, Allison Randal <[EMAIL PROTECTED]> wrote: > On Feb 7, 2006, at 13:28, Yuval Kogman wrote: > > > Apologies if this is insulting to anyone, but personally I think > > that Perl 6 (pugs, parrot, everything) is losing too much momentum > > lately. I think we need to seriously rethink some of the > > implementation plan. > > I understand your frustration. I even sympathize, as I had to work > through this same frustration a few years ago. But, micromanagement > is not the answer to lost momentum.
I really don't think that Yuval is talking about micromangement. He is talking about refactoring. I think we can all agree that: - Small methods are good - Monolithic God objects are bad Decomposing the problem into smaller and smaller problems until the problems become manageable for a small team of volunteers to work on and understand. > It actually makes things worse, > as people throw their effort into defining the problem more and more > clearly, instead of throwing their effort into producing shippable code. I am not sure if that is Yuval's point either, in fact I think his point is that without defining the problem a little clearer it will be very difficult to actually produce shippable code. > If it makes you feel any better, pretty much all projects suffer a > loss of momentum after the first year. Well I dont know about Yuval, but that depresses me somewhat :( > Parrot, on the other hand, has noticeably gained momentum the past 6 > months or so. AFAICT, this is largely due to the fact that we're > close enough to finished that we can see the light at the end of the > tunnel, and because Pugs reminded us to hold on to our sense of fun. Now I am not as involved in Parrot as I am in Pugs so I might be way off base here, but from my point of view Parrot still has a long way to go before it runs Perl 6 code. Part of that is because the bridge between PIR/PMCs and Perl 6 just does not exist yet (either in code, or even conceptually). Having PGE parse Perl 6 code only gives us an AST, it does not give us running code. And even if we have a nicely massaged AST, running Perl 6 is not a matter of just walking the tree and evaluating it like it is in Perl 5 (of course, I am simplifying quite a bit here). We found (a few months ago) in Pugs that this model just isn't robust enough, and Perl 6 is going to need a more sophisticated "runtime" environment to support many of it's features. This "runtime" (or as we have been calling it in Pugs the "Object Space") will need to exist on top of Parrot too since it is far to Perl 6 specific to be implemented into the Parrot core. This is the kind of stuff that Yuval is talking about. The missing bits that need to exist in the nether-region between perl6-language and perl6-internals. We are building from the bottom-up (Parrot) and the top-down (Perl 6 - the language) and it seems (at least to many of us on the Pugs project) that there is a big hole somewhere in the middle. Now, I am perfectly willing to admit that I am totally wrong and eat every single one of my words if you can show me the missing conceptual bridge that I am talking about. And please, no hand-waving as that does not produce shippable code. Respectfully, Stevan