Front page | perl.perl6.language |
Postings from October 2004
Re: Perl6/Parrot and Backwards Compatability
Thread Previous
|
Thread Next
From:
Matthew Walton
Date:
October 31, 2004 03:26
Subject:
Re: Perl6/Parrot and Backwards Compatability
Message ID:
4184CBFA.8090404@alledora.co.uk
I suggest you read more about Parrot... it's designed to allow these
things. There is a project (Ponie) to make Perl 5 run on Parrot, and
there will be other languages as well - which will be able to call each
others libraries. Making the Perl 5 libraries available to Perl 6 being
a primary motivation. I'm not sure about how well XS will work on Ponie,
but I assume that it will be made to work if at all possible.
Milscvaer wrote:
>
> Hello,
>
> I believe it would be a very good idea and quite
> essential, if Perl6 is not simply a superset of Perl5
> and thus by default back compatable with Perl5, for
> Parrot/Perl6 to also contain complete, 100% backwards
> compatability capability with perl5 code, either in a
> seperate perl5 parser distributed with perl6 or built
> into the perl6 parser. Perl5 code and all of the perl5
> language should be able to run on parrot with no
> modifications.
>
> Furthermore, on parrot, modules written in perl 6
> should be accessible
> from perl5 (forward compatability), and perl5 modules
> should be
> accessible from perl6 (backward compatability). The
> symbol spaces and so on
> so on for Perl5 libraries should be accessible as
> well from Perl6 and
> vice versa, as they are now from one perl5 module to
> another. This is
> absolutely essential since there is a very large
> library of existing
> Perl5 libraries and it would be completely
> unreasonable to expect
> all of these to be converted to Perl6, if such would
> be required. There are
> alot of us furthermore who like the Perl5 language as
> it is, quirks
> and all, and want to continue to be able to use perl5
> yet also have
> access to new libraries written with perl6. perl6
> programmers will
> want to have access to modules written with perl5.
> Programmers should
> be able to use both perl5 and perl6 in the same
> program. Those who
> like Perl5 as it is should have the freedom to be
> able to continue to
> use it on Parrot and have a 100% perl5 compatable
> language.
>
> Every quirk and feature of perl5 really needs be
> supported in the perl5
> support on parrot, as I code I have written really
> does depend on all of them.
>
> Furthermore, it is very important as well that
> compatabality with the Perl5
> internals and XS be maintained on Parrot/Perl6. This
> is to allow Perl
> modules for Perl5 to be used from Perl6 programs and
> on Parrot. If Parrot internals and XS
> use a different API from the Perl5 ones, then a
> compatability layer must be
> provided to allow Perl 5 XS programs to be compiled
> and run for Parrot.
>
> This is very important as there is a very large
> library of XS modules for
> Perl5 and it is totally unreasonable to require that
> they all be rewritten for
> Parrot to be able to be used. I know the XS interface
> and the Perl5
> internals can be rather ugly, and its fine if Parrot
> wants to provide an
> improved API, but its still important to provide a
> compatability layer for
> the old one in order to
> allow compatability with existing modules and prevent
> unneeded and
> unreasonable amounts of work it would require, and
> wasted time, to port old
> modules to a new API. It would require much less work
> and effort to
> simply provide a compatability interface and allow
> Perl5 XS modules to run
> on Parrot and to be accessible from Perl6, than to
> attempt to rewrite all of
> the modules one would want to have access to on Perl6.
> Perl5 and Perl5 XS
> compatability will furthermore prevent the
> fragmentation of the Perl
> community into Perl5 and Perl6 camps, by assuring that
> Perl5 modules can be
> loaded from Perl6 and vice versa. It also assures that
> the rich selection of
> modules and packages avialable for Perl5 will be
> immediately and instantly
> avialable from Perl6, thus continueing the inertia
> generated by Perl5 into
> Perl6.It allows Perl5 programs to as well benefit from
> new Perl6 modules, so both Perl5 and Perl6 can be a
> part of the same community rather than being fractured
> off into seperate communities.
>
> One reason I use Perl is the vast collection of
> modules avialable from CPAN and the choice in modules.
>
> Perl needs to preserve avialability of all of these
> modules. Remember that a module, or any feature, that
> is useless to one person is essential to another
> person.
>
> Running the old Perl5 interpretor and the Parrot in
> the same process is not
> a great solution, since this would mean that there
> would be two completely
> seperate interpretor codebases to support. A big part
> of Parrot is to allow several
> languages to use the same interpretor, thus allowing
> them all to benefit
> from the same solid foundation. It would be quite
> ridiculous if Perl did not completely support a past
> version of itself on Parrot given we are writing
> parsers for numerous other languages for Parrot (a
> good idea, indeed, but lets make sure Perl5 has a
> Parrot parser too).
>
> I urge complete 100% Perl5 support including XS and
> internals to be included
> with Parrot.
>
> This would seem to be a pretty natural feature for
> Parrot, which is
> designed to host several language and should also be
> extended to other
> languages Parrot supports, why not allow a programmer
> use Parrot to
> run code for all of the languages avialable on it in
> one program, and
> allow code in one language to call code written in
> other languages
> loaded onto Parrot.
>
> Sincerely,
>
> U. Ruirarchzatrea
Thread Previous
|
Thread Next