2 ms·
Gotchya. Just to be clear for any others reading along: * One can run (a subset of) Perl 5 code directly on any of the Rakudo backends (thus even on the JVM)
by raiph 12y ago
Gotchya.
Just to be clear for any others reading along:
* One can run (a subset of) Perl 5 code directly on any of the Rakudo backends (thus even on the JVM) by using v5, a Perl 5 compiler written in Perl 6.[1] I think it will be many years, if ever, before v5 parses all of Perl 5 and becomes a good choice for running arbitrary legacy Perl 5 code without tweaks, but it's probably going to be a key piece of technology bridging to Perl 5 in 2015. In particular, there's been talk recently of combining it with Inline::Perl5, discussed next, to provide improved sugar for P5 <-> P6 combinations.[2]
* Any host that can run arbitrary C code can run just about any Perl 5 code (including modules that use XS) via libperl, an embedded version of the stock Perl 5 interpreter. Inline::Perl5 uses this approach to allow the Rakudo Perl 6 compiler to run P5 code under P6 control without significant limitations. Inline::Perl5 allows one to pass P5 objects to P6 code that can then alter said objects and pass them back. And vice-versa, with P6 objects passed to P5 for manipulation back in P5 land. One can also create P6 sub-classes of P5 classes, thus using P6 code to tweak or extend P5 code. This already works out-of-the-box for Rakudo Star with the MoarVM backend; it's just a SMOP to make it work likewise for other backends.
(There are other nice pieces related to having P5 and P6 work together, but this is already a long comment.)
[1] https://github.com/rakudo-p5/v5 https://github.com/rakudo-p5/v5
[2] http://irclog.perlgeek.de/perl6/2014-10-12#i_9494778 http://irclog.perlgeek.de/perl6/2014-10-12#i_9494778