Ashley Yakeley <[EMAIL PROTECTED]> writes:

> 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.

The "proper" way to do it is to write the prototype yourself in a
C header file (or use an existing header), and then use a compiler-specific
mechanism to #include it.

> Why doesn't Haskell generate a prototype from the 'foreign import' 
> declaration, as part of the -fvia-C compilation?

The nhc98 compiler does generate a prototype (ghc does not).  However,
although this works quite well in the general case, occasionally the
generated prototype may not be compatible with the real C type of
the function (e.g. it cannot guess the `const' attribute).

Regards,
    Malcolm
_______________________________________________
FFI mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/ffi

Reply via email to