# Why Parrot Matters

**URL:** <https://rubytalk.org/t/why-parrot-matters/11062>\
**Category:** ruby-talk\
**Created:** [18 April 2004 08:49 UTC](https://rubytalk.org/t/why-parrot-matters/11062 "2004-04-18T08:49:10Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Swedberg211](https://avatars.discourse-cdn.com/v4/letter/s/a87d85/32.png) [@Swedberg211](https://rubytalk.org/u/Swedberg211)\
**Post date:** [18 April 2004 08:49 UTC](https://rubytalk.org/t/why-parrot-matters/11062/1 "2004-04-18T08:49:10Z")

</div>

Someone wrote (original msg lost from my archive):

> What if Ruby also runs on Perl6’s VM (Parrot)? Then you wouldn’t need to  
> switch at all. I susupect that it’s quite possible that we’ll have Ruby  
> running on Parrot by the time Perl6 comes out (given that Perl6 is  
> still a couple of years away).

The Parrot team’s firm intention is to have Parrot run Python and Ruby  
just as well as Perl6. This is helped(?) by the fact that the plans  
for Perl6 are so feature-rich (not to say -bloated 😉 that supporting  
everything in it basically means supporting everything in Ruby.  
Things that are in Ruby, but not Perl6, like continuations are slatted  
to be added to Parrot anyways out of sheer good-neighborliness. It  
should, in fact, be possible to compile _any_ dynamic scripting  
language into Parrot code: scheme, integer basic, befunge…whatever.

Because Perl6 is so far away, support for Ruby and Python is probably  
actually going to come first. A big test, the first major public  
showing of Parrot, is going to come at this year’s O’Reilly  
convention. Python/Parrot is going head to head benchmarking with  
CPython. The loser gets a pie in the face; watch for it.

Parrot matters. To scripting-language hackers generally, to Ruby  
hackers specifically, and to the Open Source movement as a whole.

Parrot promises to furnish a fast, portable environment for every  
major scripting language. This will remove one of the big obstacles  
to more widespread deployment: speed. Moreover, if I download a  
Parrot VM to run someone’s PyGame program on my machine, I already  
have what I need to run your Ruby or Perl program without further  
dependency worries: viral portability. Fast Ruby means more Ruby  
hackers. Fast Python and Perl means more hackers in those languages  
and thus more people who might take a look at Ruby; a common runtime  
would make the transition even easier.

For OSS as a whole, Parrot promises a rival to Java or .Net without  
corporate ownership, developed as open source, for languages that are  
open source and in which tons of open source code is already written.  
As the Gnome project considers a new development language, a timely  
Parrot implementation could mean an in for Python, maybe even Ruby.  
That would be _awesome_.

Parrot is a respectable ways along. Not by any means done, but more  
than vaporware. Support for objects was recently added.

Here’s the main Parrot page:  
[http://www.parrotcode.org/](http://www.parrotcode.org/)  
(now 0.1.0)

Here’s a project to make a Ruby-\>Parrot frontend:  
[http://rubyforge.org/projects/cardinal/](http://rubyforge.org/projects/cardinal/)  
(now 0.0.3)

---

<div class="post-metadata">

**Author:** ![Laurent\_Julliard4](https://avatars.discourse-cdn.com/v4/letter/l/ebca7d/32.png) [@Laurent\_Julliard4](https://rubytalk.org/u/Laurent_Julliard4)\
**Post date:** [18 April 2004 09:24 UTC](https://rubytalk.org/t/why-parrot-matters/11062/2 "2004-04-18T09:24:10Z")

</div>

I agree with anything but 2 things: I believe perl6 will have first class reified continuations, and I believe perl5 will run safely on parrot before python and ruby :)

BTW I even hope that Dan Sugalsky wins the piethon, cause that would  
mean that parrot is really on a good track :).  
And, I even hope that rite will blow off parrot 😛

> **···**
>
> il 18 Apr 2004 01:46:48 -0700, [swedberg211@yahoo.com](mailto:swedberg211@yahoo.com) (Manny Swedberg) ha scritto::

---

<div class="post-metadata">

**Author:** ![Charles\_Comstock](https://avatars.discourse-cdn.com/v4/letter/c/91b2a8/32.png) [@Charles\_Comstock](https://rubytalk.org/u/Charles_Comstock)\
**Post date:** [18 April 2004 09:59 UTC](https://rubytalk.org/t/why-parrot-matters/11062/3 "2004-04-18T09:59:10Z")

</div>

They aren’t just supporting continuations for kicks. If I remember  
correctly from my reading of there weekly dev list updates, there  
fundemental model of computation is in terms of continuations.  
Basically they allocate stack frames with continuations. So the entire  
interpreter would fail without continuation support, allowing it to work  
pretty nicely if you push it onto the actual language.

Charlie

---

<div class="post-metadata">

**Author:** ![Mark\_J\_Reed1](https://avatars.discourse-cdn.com/v4/letter/m/8491ac/32.png) [@Mark\_J\_Reed1](https://rubytalk.org/u/Mark_J_Reed1)\
**Post date:** [18 April 2004 16:39 UTC](https://rubytalk.org/t/why-parrot-matters/11062/4 "2004-04-18T16:39:10Z")

</div>

[swedberg211@yahoo.com](mailto:swedberg211@yahoo.com) (Manny Swedberg) writes:

> Things that are in Ruby, but not Perl6, like continuations are slated  
> to be added to Parrot anyways out of sheer good-neighborliness.

Agree in principle, but I really think Perl6 is going to have continuations.  
🙂 At least, there was certainly enough talk about them on perl6-language (as  
opposed to perl6-internals, where the folks implementing Parrot would likely  
talk about them).

-Mark
