While I can’t give you Matz’s rationale for it, I can tell you why I
think it’s a good idea to not have Parrot be the back end for Ruby
It’s not done.
If Parrot were fully functional, it’d be reasonable to talk to Matz
about having it potentially be the engine for Ruby 2.0, but it’s not,
and it definitely wasn’t at the time Matz was starting in designing
and developing Rite. He’d have been foolish to bet that what we were
building would meet his needs and the needs of Ruby based only on
some design documentation, a bit of source, and a conversation or two
with someone he’s never met.
Heck, I wouldn’t be comfortable if Matz was counting on Parrot
being Ruby 2.0’s back end at this point–we aren’t done, and the
thought that something that we screwed up in parrot development would
impact someone else is rather unpleasant. (I’d hate to think that if
I got hit by a bus before we were done that ruby’d be in serious
trouble) I don’t mind being an alternate implementation, I just don’t
want to be the primary implementation, certainly not when we aren’t
Also, while Matz is responsible soley for Ruby, I can’t be, and that
means that I may end up making decisions for the core that aren’t
necessarily in Ruby’s best interest. (Nor Python’s, nor Perl’s, nor
Scheme’s for that matter) With any engineering project of any size
there are inevitable tradeoffs, and my (self-chosen) problem scope is
larger than Matz’s so the chances that there’ll be an unfavorable
decision for some Ruby feature is greater.
Maybe when we’re done things’ll be better–I certainly have some
rather compelling reasons to get a 100% full ruby implementation
working on Parrot. When we’re done then it’ll be different since we
can look at an existing project and judge it on its merits, rather
than look at some plans and guess how things will turn out, and
perhaps at that point the decisions may change, but that’s not really
something worth worrying about now.
Finally, don’t forget the important question: “Who the heck is this
Dan guy anyway, and why should we trust him to make Ruby work?”
Reasonable caution is, I think, in order. That’s only prudent.
At 6:48 AM +0900 8/9/02, Mauricio Fernández wrote:
I’m been looking for the rationale of implementing Ruby’s own bytecode
engine (Rite) instead of using Parrot.
 (23 Feb): <<EOF
Rite will have some kind of VM. It would NOT be Parrot, but I hope I
can prepare backend API that makes Parrot backend possible.
We can feel Rite is beginning to become something, but I have been
unable to find the rationale for some of the mayor design decisions
already taken; particularly the reasons behind  (which was
acknowledged by Dan Sugalski as being correct without any further
--------------------------------------“it’s like this”-------------------
Dan Sugalski even samurai
email@example.com have teddy bears and even
teddy bears get drunk