RE: Generating Function Prototypes
I've been having trouble with an imported function that returns Int64/"long long". Haskell doesn't generate a prototype, so regular 'int' type is assumed.
Why doesn't Haskell generate a prototype from the 'foreign import' declaration, as part of the -fvia-C compilation? When the prototype is omitted, a default one is assumed. Surely FFI can improve on the default with the information given by the 'foreign import' declaration?
In the mean time, how do I work around the problem and provide a prototype myself?
In GHC, you bring a prototype into scope either by using the string in the foreign import declaration to specify a header file, or you specify a header file in a command-line flag (-#include "foo.h" for example). The command-line flag can be also given in the source file using an OPTIONS pragma. Generating a prototype is not possible, I'm afraid (see previous discussion for the gory details). Cheers, Simon
participants (1)
-
Simon Marlow