[Haskell-cafe] weird behavior with FFI

Tim Newsham newsham at lava.net
Sat Feb 2 17:47:17 EST 2008


> Am Samstag, 2. Februar 2008 schrieb Tim Newsham:
>> I am working on haskell bindings to C functions using FFI.  I have
>> a callback function that returns "IO ()".  When I pass in the callback
>> function:

> I suspect this has to do with printf returning 'undefined' if you use it
> with an IO type. Something in the code looks at the result and crashes.
> Your second version is equivalent to printf "foo" >>= \_ -> return (),
> i.e. it never evaluates printf's result but returns () instead.
> Fixing the first version would require some changes to Text.Printf,
> restricting the 'a' in PrintfType (IO a).

But the callback function is already of type "IO ()" as mentioned above.

> HTH, Lukas

Tim Newsham
http://www.thenewsh.com/~newsham/


More information about the Haskell-Cafe mailing list