John Sequeira

Amped::Technology
John Sequeira's weblog: enterprise application development, typed weakly.

Tuesday, April 15, 2003


Parrot Man Dan

I went to the boston.pm technical meeting last night to hear Dan Sugalski speak about objects in Parrot. I got to interrogate him about Perl 6's support of existing languages extension libraries. I was wondering what level of effort it would take to port perl 5 CPAN modules with binary dependencies to perl 6 (ditto for Python and Ruby). I was trying to figure out what the Parrot implementation of those languages would offer them, if large parts of their standard library classes were unavailable. The short answer was, binary modules will typically require a rewrite to get them working with Perl 6. There might be some level of XS module support in parrot, but it's not high on Dan's list. I think that means the inter-language support isn't going to be much more than that currently provided by Inline::*. Even perl 5 support will have substantial reliance on something like Inline::Perl5 or the unmanaged code hackery of Perl.NET.

I confess I was hoping that parrot would be some sort of magic bullet - an open source scripter's answer to the Microsoft tactic of cornering the market on class libraries. I was hoping that by providing a common technical underpinning that enabled seemless interoperability it would allow scripting languages to achieve mainstream credibility. But given that the Inline::* modules are effectively going to be the same way forward with perl6, I think that hope is a long-shot. Dan specifically declared language/VM unification an anti-goal (my words, his sentiment). He doesn't want to be the reference implementation for any other languages ... because that would curtail their innovation in the long run. He gave the example of Ruby, where the creator loves to tinker with VMs and is highly unlikely to stop. For Python, they're really just supporting it because the python folks claim it's not possible to be faster than their own VM.

There's still a possibility of the other languages adopting CPAN in a mutually synergystic way, but it seems messy to have to distingish between parrot-compatible and python|ruby- compatible libraries.
5:33:28 PM      comment []  trackback []

© Copyright 2005 John Sequeira.
 
April 2003
Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      
Mar   May

Click to see the XML version of this web page.
Click here to send an email to the editor of this weblog.
Yahoo: johnseq2
MSN: john_seq@hotmail.com
AIM: amped02139
Skype: johnjulian