http://qs321.pair.com?node_id=261810


in reply to Re: Perl 6 feature that scares me the most:
in thread Perl 6 feature that scares me the most:

CPAN modules that will not work with Perl 6/Parrot

I would imagine that the perl5 compatability layer will take care of the majority of pure perl modules. AFAIK XS will need a rewrite.

It doesn't really worry me. Important modules that lots of people use will get ported. Modules that I need myself I can port.

It seems that everyone is writing their very own VM these days (ex: java, .net, mono, parrot), which will (of course) run faster, better, etc than everyone elses. There is hardly a practical technical incentive (platform dependency excluded) to choose one VM over the other. Parrot will be just one in the crowd.

There are some specific reasons why JVM and .NET won't work for Perl6 (the need to support closures, continuations and polymorphic scalars).

If others choose to implement languages on top of Parrot too that's just gravy :-)

Will not appeal to VM zealots because it is too late in the game.

And this is a problem why? :-)

Will not appeal to perl programmers because it will probably be bigger, require more typing, run slower than perl 5.

Speaking personally I find the "bigger" bit appealing. The features that are being added to Perl6 are features that I miss a great deal in perl5.

It doesn't require more typing. Typing is optional for those who like it. TMTOWTDI and all that.

So far I've not seen any evidence that it will be slower. Quite the opposite.

They are not really thinking about making extending/embedding easier than XS.

Yes they are. To quote from the perl6 architecture document.

One of the major reasons to revisit Perl was to fix the mess that is XS (the way you extend Perl with C or C++ subroutines).  Perl5 has no API for extension, separate from the functions used to implement Perl, and extending Perl requires hideous amounts of work.  Dan and Larry are aiming to make C extensions as easy as they possibly can be (Brian Ingerson's excellent perl5 Inline modules give some directions for this).  Anyone who has used XS looks forward to its demise.

If you take a look around the mailing list archives you will find people are thinking about this.