

MoarVM: A virtual machine for NQP and Rakudo - kbenson
http://6guts.wordpress.com/

======
masak
I just wrote a post about MoarVM, too:
<http://strangelyconsistent.org/blog/a-vm-for-6model> . Slightly more slanted
towards how this fits into the evolution of Perl 6 implementations.

------
jedharris
Regarding "What achievement can Perl 6 claim?"

At least one is 6Model itself -- a generic object semantics and API which has
been back ported to Perl 5, has been ported to the JVM (with a lot of
optimization still pending) and as we see here is a reasonable design for part
of a VM API.

As far as I know 6Model is the only candidate around for a low level object
model that is flexible enough to implement the object semantics in most
languages, low level enough to be be efficiently implemented in most VMs, etc.

~~~
chromatic
_a generic object semantics and API which has been back ported to Perl 5_

Do you mean Moose or the abandoned Perl 5 MOP experiment?

~~~
jedharris
I don't know enough history here. The current Moose docs say "Moose is built
on top of Class::MOP" so maybe there was a different MOP effort that
succeeded? That MOP is probably closer to 6Model than Moose itself.

~~~
chromatic
Moose and Class::MOP predate 6Model. As far as I remember and can verify,
Moose 1.0 was out (spring 2010) before 6Model even existed or had a name (late
2010).

Moose _did_ take inspiration from the object model designed for Perl 6, but it
grew out of attempts to _implement_ that object model in Pugs, not Rakudo. You
might even say that it was the first full implementation of the Perl 6 object
model.

~~~
jedharris
Thanks for the history. Sounds right. So 6Model and Moose are siblings, rather
than parent / child.

I think my original point, though, holds up: One of the actual delivered
achievements of the Perl 6 project is a sophisticated flexible object model,
now in production outside of Perl 6, and also the basis of deeper (re)design
within Perl 6.

------
disinterest
Wow, they are really good at starting things.

~~~
patrickas
Right... start things... keep evolving them and getting better... and
hopefully never end.

I think that's the plan.

~~~
disinterest
Never end? More like never deliver.

~~~
patrickas
It seems to me they deliver a release every month.

<http://rakudo.org/downloads/star/>

Same as firefox... or chrome... or any other project on a continuous release
cycle.

~~~
disinterest
Firefox and Chrome have actual users who get stuff done, probably because
their developers have a track record of releasing useful software. Perl 6 has
a track record of not being useful, but I'm sure /this/ time they'll buck that
trend.

~~~
espadrine
Your belief that Perl6 won't go mainstream doesn't lessen their achievements.

Beyond that, your attitude is easy to compare to a 2000s "SSJS will never
succeed".

~~~
PommeDeTerre
What exactly is the achievement here?

I'm not certain that yet another mostly-incomplete virtual machine will really
help the Perl 6 community much. They've already got that with Parrot.

The whole emphasis on targeting virtual machines, whether it's Parrot, or the
JVM, or now this MoarVM, has harmed the ability of Perl 6 to be implemented.
We've seen one partial implementation after another, for years on end.

Unfortunately, we can't actually use any of these implementations for anything
serious, like we can with Perl 5, Python, and Ruby. This makes Perl 6
unusable, which is quite a shame.

~~~
raiph
I watch the Perl 6 project closely. You are misunderstanding what is going on.

Perl 6 has to target _a_ VM, just as Perl 5, Python and Ruby do. The Rakudo
Perl 6 team picked the Parrot VM and tried to focus on everything but the VM.
That's clearly no longer tenable because Parrot has turned out to be a
Norwegian Blue (at least at the moment).

It's disappointing that Perl 6 still isn't ready for prime time. Fortunately
Larry Wall and friends are changing that. I'm confident MoarVM is yet another
big leap in the right direction.

