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.



Reply via email to