The Parrot is dead. Long live the Parrot?

Gerhard R. gerd.r.devel at googlemail.com
Sat Feb 9 19:37:24 UTC 2013


Five months ago, I stopped working on my m0 prototype. At that time, I
wrote up some thoughts on the future of the Parrot codebase[1], but never
got around to throwing it into the ring for discussion by a wider audience.

The situation today is mostly as it was back then - except that whiteknight
has moved on, rurban came back and went away again to take a shot at
implementing his own VM and jnthn is currently hard at work to make
Rakudo/JVM a reality.

Frankly, I don't believe the Parrot project can reach its stated goals on
top of the current codebase.

Assuming there's still sufficient interest, I propose the following steps
as a way forward:

  1. Fork off a Parrot-light with the sole purpose of supporting Rakudo

All parts that are not actively used by Rakudo should be ripped out. Also,
right now NQP master does not build on Parrot master on some architectures
(myself, moritz and tadzik reported failures). It's not clear if this is
Parrot's or NQP's 'fault' as downgrading either one makes the issue
disappear. The recommended Parrot version right now is 4.10. That needs
fixing.

Hopefully, we'll get some performance improvements out of it, but even if
we don't, having a small bootstrapping VM which can be used as a stage0 for
other Rakudo backends might be worthwhile.

  2. Start design of Parrot2

One of the problems with Parrot was probably that no one knew where the
journey was supposed to go. Now we do know. If nothing else, jnthn's JVM
work is driving a cleanup of NQP internals, which should benefit other
backends (Rakudo/JS is being worked on and NQP/Go got its first commits),
including Parrot2.

Before we get around to work on Parrot2, the existing architecture should
undergo critical evaluation so past mistakes won't be repeated.

Any comments?

-- gerdr

[1] https://gist.github.com/gerdr/48890726c026588535fa
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.parrot.org/pipermail/parrot-dev/attachments/20130209/f45abf16/attachment.html>


More information about the parrot-dev mailing list