http://www.perlmonks.org?node_id=580112


in reply to Re^2: Parrot, threads & fears for the future.
in thread Parrot, threads & fears for the future.

Thanks for your kind words. *blush*

The concept of One True Official Perl 6 is, well, officially gone. Much like other standard-based languages, anything that passes the conformance test suite is Officially Perl 6.

http://perlcabal.org/syn/S01.html#Project_Plan

Pugs's interpreted core will always focus on semantics rather than speed. In that regard it may one day be comparable to Perl 5, but not fundamentally faster than it. However, much as GHC has two cores (interpreted GHCi and natively generated C--), so will Pugs provide an ahead-of-time compilation mode that supports runtime modification through dynamic linking.

The AOT mode scheduled for the next release is based on a new Meta Object model that can generate fast, native embeddings in both of Pugs's runcores, namely GHC and Perl5. That will get Pugs a performance comparable to compiled Haskell code on the GHC runcore, and as fast in the Perl5 runcore as we can, probably with help from new opcodes hacked into Perl 5.12. Both will be likely faster than what Perl 5 currently is.

http://nothingmuch.woobling.org/MO/
http://perlcabal.org/~cmarcelo/moh/

Pugs does not aim to be a cross-language bytecode interpreter that supports both static and dynamic method dispatch. CLR3, Java6, Rhino and plenty of other less mature VMs (Parrot, StrongTalk, HLVM, IO, YARV, PyPy) already do them pretty well, and all we have to do is to write a backend to generate bytecode for those platforms, in order to use their libraries.