> In essence, all Perl 5 functions have a signature of (*@_ is rw). > Perhaps the translator can turn some of those into (*@_). What'd > really be cool is if it could pick up an initial > > my ($a, $b, $c) = @_;
Excuse my ignorance here, but I thought the plan for backwards compatibility with perl5 was to embed the Perl5 engine with Parrot, and create thunking/compatibility interfaces between the two. If we try to create a converter to convert perl5 to perl6 code, by say using a B:: backend or such, it forces us to develop both perl5 *and* perl6 in Parrot, each with their own PMCs and semantics. Not to mention the amount of intelligence and introspective abilities you'll need to program into that convertor to actually be able to do the things that are needed. A simple translator will write code which assumes that 'eval' can be called anywhere, etc. Which might very well lead to performance that's worse than perl5 (especially if we force DOD runs on every block exit to ensure the same liveness guarantees of refcounting.) Does anyone actually know what the plan for perl5 to perl6 conversion is, or are we just assuming all possible avenues now, to be discarded as we approach the implementation phase and realize the scope of the project. :) Thanks, Mike Lambert