> 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


Reply via email to