Re: The external interface for the parser piece
[email protected] (Nicholas Clark) Wed, 13 Dec 2000 14:36:07 +0000
| Newsgroups | perl.perl6.internals.api.parser |
|---|---|
| Message-ID | <[email protected]> |
Ah. Digest system tells me some messages for me bounced. > From: Damien Neil <[email protected]> > To: [email protected] > Subject: Re: The external interface for the parser piece > Message-ID: <[email protected]> > 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 Clark