Ah. Digest system tells me some messages for me bounced. > From: Damien Neil <neild@misago.org> > To: perl6-internals-api-parser@perl.org > Subject: Re: The external interface for the parser piece > Message-ID: <20001129145046.D48334@misago.org> > Mime-Version: 1.0 > Content-Type: text/plain; charset=us-ascii > > On Mon, Nov 27, 2000 at 05:29:36PM -0500, Dan Sugalski wrote: > > int perl6_parse(PerlInterp *interp, > > void *source, > > int flags, > > void *extra_pointer); > > Count me in with the people who prefer: > > int perl6_parse(PerlInterp *interp, PerlIO *io); > > I understand the desire to reduce the number of API bits the external > user needs to know about, but I think that the non-PerlIO API will > lead to more complexity than it removes. > > Assuming the non-PerlIO interface is used, however, I believe there > is a problem with the PERL_GENERATED_SOURCE option. ANSI/ISO C does > not guarantee that a function pointer may be stored in a void*. > > I would suggest that Perl's external APIs, at the very least, should > conform to standard C. > > - Damien Not sure if it's what prompted you to say this, but perl5-porters has recently turned up one such system, Cray PVP (SV1 or YMP) It doesn't like casting between data pointers and function pointers: http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2000-12/msg00558.html Nicholas ClarkThread Previous | Thread Next