From: Ashraya
Sent: Wednesday, August 07, 2013 2:23 PM
To: inline@perl.org ; Duke Leto ; Will Coleda
Subject: Problem in using inline C with perl6
Hi All,
I am trying to use the C extention feature with perl6. Although it worked
fine with perl5, the C extention is different from perl5 to perl6. I tried
to use the same as following :
h2xs -PAXn Math::Simple
ashiva@ubuntu:~/Parrot/rakudo/Inline-0.44/Math-Simple$ cat math.pl
#!/usr/bin/perl6
use lib './lib/Math/.';
use Math::Simple;
print add(2, 3);
print subtract(3, 2);
ashiva@ubuntu:~/Parrot/rakudo/Inline-0.44/Math-Simple$
ashiva@ubuntu:~/Parrot/rakudo/Inline-0.44/Math-Simple$ cat
lib/Math/Simple.pm
package Math::Simple;
$VERSION = '1.23';
use base 'Exporter';
@EXPORT_OK = qw(add subtract);
use strict;
use Inline C => 'DATA',
VERSION => '1.23',
NAME => 'Math::Simple';
1;
__DATA__
=pod
=cut
__C__
int add(int x, int y) {
return x + y;
}
int subtract(int x, int y) {
return x - y;
}
But I keep getting this error :
ashiva@ubuntu:~/Parrot/rakudo/Inline-0.44/Math-Simple$ perl6 math.pl
===SORRY!===
arglist case of use not yet implemented. Sorry.
at math.pl:3
ashiva@ubuntu:~/Parrot/rakudo/Inline-0.44/Math-Simple$
I know virtually nothing about perl6, but it would seem that the error is in
relation to:
use lib './lib/Math/.';
(Providing args such as './lib/Math/.' to a "use" directive is apparently
not yet supported.)
So the error really has nothing to do with Inline itself.
I was told a few years ago that perl6 doesn't have XS. That being so, I
don't see how Inline::C (in its current form) could ever work with perl6 -
because, under the hood, Inline::C does little more than write (and compile)
an XS file.
Cheers,
Rob