Ruby folks focus on Parrot

Ron Stephens rdsteph at earthlink.net
Tue Jan 1 18:57:02 EST 2002


Just copying this one note from comp.lang.ruby today, to show that Ruby
folks are real serious about getting aRuby that runs on Parrot, the new
runtime environment for Perl 6. This poster even asserts how important
it could be to beat Python to the punch in this regards, so to speak.
;-)))

The following is a copy of a post to comp.lang.ruby on the subject
"Project Proposal: Cardinal: Ruby frontend for Parrot".

>>>>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






More information about the Python-list mailing list