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

Reply via email to