4 ms·
You mentioned the CLR and that Parrot was purpose built. That leads me to write the following: There's only one P6 compiler relevant to most folk: Rakudo.[1]
by raiph 12y ago
You mentioned the CLR and that Parrot was purpose built. That leads me to write the following:
There's only one P6 compiler relevant to most folk: Rakudo.[1]
Rakudo doesn't have a CLR backend.[2]
Parrot was supposed to be purpose built for the P6 project which in turn was supposed to be implementing Larry's specification. In practice Parrot grew its own purpose which ended up increasingly conflicting with Rakudo's to the point of irretrievable breakdown in 2009 (even if that wasn't obvious at the time). In contrast, MoarVM is purpose built for NQP and thus Rakudo and thus P6.[3]
----
[1] Rakudo was started by Patrick Michaud, the Perl 6 project manager, in 2004. It was always supposed to produce a reference P6 compiler implementation. All other compilers, including Pugs and Niecza, were projects started by enthusiastic individuals without a mandate to produce an end result. These latter have all ended up stalling far short of completion.
[2] Rakudo does not run on the CLR. jnthn, the leading P6 dev who ported Rakudo to JVM and MoarVM, prototyped 6model (a key piece of any port of Rakudo) on CLR, and teaches C# for a living, has suggested that a port to CLR will be just a SMOP. But he has also made it clear he's not planning on doing the port himself.
[3] Parrot is a very poor performer as an NQP/Rakudo backend (and is falling further behind as NQP and Rakudo evolve and Parrot fails to keep up). In addition to speed and RAM issues, if you want to use P6's concurrency features today, you must use either the JVM or MoarVM backend.