On Fri, May 20, 2005 at 10:34:39AM +0100, Colin Paul Adams wrote:
> I have a problem with this - namely that the function is variadic, and
> the interface generator can't cope with this.

Hmm, in Haskell FFI, we hard-coded two cases of invocation, treating
the function as two distinct, non-variadic forms:

    -- From http://svn.openfoundry.org/pugs/src/Pugs/Embed/Parrot.hsc

    -- This is the (() returns Void) form
    foreign import ccall "Parrot_call_sub"
        parrot_call_sub_vv :: ParrotInterp -> ParrotPMC -> CString -> IO ()

    -- This is the ((String, String) returns String) form
    foreign import ccall "Parrot_call_sub"
        parrot_call_sub_SSS :: ParrotInterp -> ParrotPMC -> CString -> 
ParrotString -> ParrotString -> IO ParrotString

Surely you can do the same with Eiffel?

Thanks,
/Autrijus/

Attachment: pgpj1ErrUpris.pgp
Description: PGP signature

Reply via email to