We've had a couple of different threads flowing here the last few days 
about getting Ruby to work with Parrot.  Dan Sugalski has suggested that 
we (the Ruby community) need to create a Ruby parser in Ruby that 
initially needs to emit Parrot bytecode and later we could pass on an AST.

So..... I want to propose a new project called Cardinal (the name is open 
to discussion, I chose Cardinal because Parrots are birds, Rubys are red 
and Cardinals are red birds - is the name already taken?  I don't see 
any Cardinal project on RAA).  The goal of Cardinal is to create a Ruby 
frontend for Parrot.

What's Parrot?
Briefly, Parrot is Perl6's new virtual machine.  But it's being designed 
in such a way as to allow different language frontend parsers to use the 
Parrot backend.  So, in theory, this will allow you to write a program in 
Ruby that uses Perl or Python libraries.  There is a Parrot FAQ at:
http://www.panix.com/~ziggy/parrot.html
which might answer more questions.

Why?
There are several reasons why it's a good idea for Ruby to be able to 
'play' with Parrot...
1) As mentioned above, it would allow us to tap into the vast Perl CPAN 
libraries (and Python's too).  This seems like a win for Ruby since our 
library of modules is much smaller right now.
2) It could allow Ruby to reach a wider audience.  The likelyhood is that 
Perl6 will eventually be installed all over the place like Perl5 is now.  
There have been a few threads recently asking about Ruby friendly ISP's 
and web hosting companies, there aren't many yet, but if we could run Ruby 
via Perl6's Parrot backend we could eventually run Ruby just about 
anywhere.
3) The 'coolness' factor - especially if we can get Ruby playing with 
Parrot before Python  (or even potentially before Perl, as Dan has 
suggested), that would be good publicity for Ruby and could possibly help 
expand our user base.
4) Performance? - I think that the Parrot folks are putting a lot of 
thought into improving performance, maybe it's possible that Ruby running 
on Parrot will be faster than the current implementation (but I'm 
speculating here).
5) The involvment of the Ruby community could help influence the 
development of Parrot (I think it already has to some extent - they are 
paying attention to some of Ruby's requirements, such as support for 
continuations)

How?
I'm not entirely sure yet, but I think a lot of the groundwork has been 
laid for the parser (RubyInRuby, Rockit).  There has been work done on the 
AST representation (RubySchema, AST) - Cardinal should build on already 
existing work in these areas and concentrate on generating Parrot bytecode 
or assembly.  Hopefully Cardinal can give a boost to those other projects 
so we can eventually see several other backends like Cardinal which can be 
plugged into the frontend parser/AST generator.

Who?
Who's interested?

Ideas, Suggestions?

Phil