I've finished cleaning up the Pure Perl version of Marpa, and am about
to embark on Marpa::XS.  Marpa's parsing is mainly data-twiddling, so
I expect a major speed improvement when its parse engine is converted
to C.  I've made some tentative decisions on the implementation, which
I want to submit to this group for comment.

1.)  I plan to have Marpa::XS require Perl 5.12.  At this point many
people don't run 5.12 -- in fact I don't.  But by the time Marpa::XS
is ready to try out, my idea is that anyone unable or unwilling to at
least perlbrew a 5.12 will not truly be interested in dealing with a
new alpha module anyway.

2.)  I plan to have Marpa::XS use Glib from GNU's GTK package,
particularly for its library of data types.  In writing the Pure Perl
version of Marpa, I've sorely missed having fast binary trees.  It's
my understanding that Perl XS interface's array and hash routines, for
the most part, requires the data to be Perl scalars, and I don't want
that overhead.  And finally, I want eventually to create a C library,
libmarpa, which will be usable without Perl.

3.)  For a Perl XS module, the interfacing code must be in C89, is my
understanding.  My tentative plan to have the core Marpa library
(libmarpa) be C89 as well.  I have toyed with the idea of having
libmarpa use GCC extensions, however.  I'd appreciate comments.

Thanks, jeffrey kegler

Reply via email to