On Thu, 2002-09-12 at 20:09, David Whipp wrote:
> Aaron Sherman [mailto:[EMAIL PROTECTED]] wrote:
> > I'm thinking XS thoughts because we're going to need a few external
> > things at SOME point.... It would be so nice if Perl 6's XS 
> > was part of the language, rather than an external pre-processor.
> > [ some interesting stuff]
> > Thoughts?
> 
> Its good to start thinking about this early; but should we be thinking
> "Parrot's" XS; not "Perl 6's"?

I disagree. Parrot will have a way to access runtime-loadable libraries
and call them from parrot code, but the argument marshaling and type
conversion specification will all happen in the way that the target
language specifies, since that language will be constrained in how it
can take advantage of Parrot and the native library it's accessing.

Yes, Parrot's facility for external binding must be established, but
it's almost 100% tangential to the discussion of how Perl 6 will
interface through that facility.

> Parrot has to solve the problem of binding multiple languages together
> within a unified framework: Ruby calls a python method, passing a
> Perl object as a parameter. 

Good point. However, Perl6 will call Ruby in different ways than Python
will. Certainly a function that returns a list in Perl would be called
differently form Scheme or BASIC, since Scheme supports list types
albeit very different ones from Perl, where BASIC does not.

No, Parrot will make it easier for these languages to call external
binary objects or PBC modules from other languages, but the solution
will ultimately involve a heavy amount of custom work per-language.

-- 
Aaron Sherman <[EMAIL PROTECTED]>
http://www.ajs.com/~ajs

Reply via email to