Hacker News new | comments | ask | show | jobs | submit login

Why did I think the Perl 6 VM was called parrot?

There is an intermediate language the Rakudo compiler is implemented in called NQP. That split from the Parrot project to support several VMs as the stuff emitted as the "compiled" code. For a while Parrot and JVM were supported simultaneously. With the addition of MoarVM the project moved away from supporting Parrot. There are other targets in development including JavaScript and most recently Truffle/GraalVM https://github.com/perl6/nqp/commits/truffle Essentially a lot happens within the Perl 6 project at a pace that's kind of surprising if you keep an eye on it.

Thanks for the summary!

Many years ago, it was. Parrot is a separate team, and was designed to be the "mother of all VMs" with Perl 6 as its sort of halo language implementation. It split off as the Perl 6 project matured and needed to own the vm/compiler.

What was it that Parrot couldn't do that Perl 6 needed?

We often have efforts to make one VM that can support everything and they have usually failed in the past. I wonder why it failed this time?

The history in short from my perspective:

* Parrot was intended as the runtime for Perl 6.

* Perl 6 was not ready to indicate what it needed when development started on Parrot

* Scope/Goal of Parrot was extended to other scripting languages

* Parrot started to become more and more unsuitable as the VM for Perl 6 once Perl 6 figured out what it needed

* Parrot failed to attract other clients for its VM

* The Great List Refactor in Perl 6 the year before its official release, forced a decision on whether to also refactor for the Parrot backend or not (on top of the refactoring needed for the JVM and MoarVM backend)

* The decision was no: but really, the GLR was the straw that broke the camel's back, so to say. Particularly, NFG support and async/event driven support were deemed to be impossible to implement with the state Parrot was in at the time.

* With no more clients for its VM, developers left the Parrot project

So is “nomen” now “omen?” Is the Parrot dead? (1) (2)

I can’t figure that out. On


It seems it maybe still moves?

1) https://en.wikipedia.org/wiki/Dead_Parrot_sketch

2) The name's origin is really the sketch see: https://web.archive.org/web/20040203055250/http://www.oreill... and https://en.wikipedia.org/wiki/Parrot_virtual_machine#cite_re... "The name Parrot came from an April Fool's joke which announced a hypothetical language, named Parrot, that would unify Python and Perl.[4][5]"

It used to have monthly releases.

The last release was from more than two years ago.

If it isn't dead yet, it certainly is feeling its age.

If someone were willing, they are more than welcome to start a fresh Parrot port of Rakudo.

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact