
23 Jul
2009
23 Jul
'09
7:13 a.m.
On 12/07/2009 19:26, Bulat Ziganshin wrote:
Hello Maurício,
Sunday, July 12, 2009, 9:11:53 PM, you wrote:
I did read that. It says I can use "#def" to insert a C definition, but there are no examples of use, and I could not find one.
#def inline int signof(int x) {return x<0?-1:x>0?1:0;} foreign import ccall safe "" signof :: CInt -> CInt
main = print (signof 33)
compilation: hsc2hs tabi.hsc ghc --make tabi.hs tabi_hsc.c
That use of "inline" doesn't have any effect since GHC 6.10, because even when using -fvia-C we're not #including the header file in the generated C code. Also that note in the docs about not using #def in library code is outdated: it should be safe to use #def in libraries now. I've fixed the docs. Cheers, Simon