in reply to Disputation of g0n on the power and efficacy of XS

Perl 6 uses Parrot, which has NCI, so it doesn't really have this problem. (NCI doesn't require that you have a C compiler installed to link against C shared libraries, anyway. C++ might be more complex; I don't know enough about its ABI to say.) It's even easier if your platform as JIT support.

It's possible to solve this problem in Perl 5 as well, though I haven't had time to work on it as much. See P5NCI.

  • Comment on Re: Disputation of g0n on the power and efficacy of XS

Replies are listed 'Best First'.
Re^2: Disputation of g0n on the power and efficacy of XS
by TimToady (Parson) on Apr 20, 2005 at 20:18 UTC
    That's one part of the solution--the part that deals with legacy libraries. The other part of the long-term solution is to make sure Perl 6 is a language in which you can express low-level concepts so you don't have to drop into C just for performance. ParrotOS, here we come... :-)
Re^2: Disputation of g0n on the power and efficacy of XS
by salva (Canon) on Apr 21, 2005 at 09:14 UTC
    C++ might be more complex; I don't know enough about its ABI to say

    there is no such thing as an standard C++ ABI, it's compiler specific!

      Not only is it compiler specific the C++ ABI is usually very fragile. The good news is that the GCC team has done some effort to alleviate the fragility of the ABI on C++