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/
pgpj1ErrUpris.pgp
Description: PGP signature