On Fri, Mar 01, 2002 at 05:17:28AM -0800, Brent Dax wrote:
> After banging my head against a wall for a few hours with Perl 5's XS, I
> have an idea for how Parrot can do it better.
>
> Basically, the big problems with XS are:
> -It's ugly as hell
> -It makes the extender do tons of extra work
> -It seriously munges your code
And just like python it attaches significance to whitespace.
[Is this a problem or a feature?]
> Here's an example of my proposed format.
>
> /* optional */
> parrot_xs {
> xs_version => 0.1,
> parrot_version => 0.0.3
> };
>
> #include <math.h>
>
> /* not sure if we need this */
> module {
> name => Math::Round,
> version => 1.0.3
> };
>
> extern int floor(double);
> extern int ciel(double);
It confused me at first. Conceptually it seems that there is a sudden jump
from perl syntax to C syntax, without any visual alert marks.
Reading it again I few times I realise that the above is (almost) C syntax,
apart from the => and the V string, but I'm still not sure if I like this
hybrid that isn't quite either.
> I'm sure other people have ideas on this. Let 'em fly--the more the
> merrier.
Do we have a "spec" of things we like about XS (apart from typemaps), things
we don't like, things we like about Inline, things we don't like, and
things we'd like to have that aren't in either?
Nicholas Clark
--
Even better than the real thing: http://nms-cgi.sourceforge.net/