Hi all,

I'm just wondering -- for "primitive" C types (int, float, char, etc), why was the decision made in the FFI to have function declarations look like e.g.

 foreign import ccall "math.h sin" sin :: CDouble -> CDouble

rather than

 foreign import ccall "math.h sin" sin :: !CDouble -> !CDouble

I'm fairly sure any foreign imported functions must be strict in their arguments, and it would make things a bit clearer for Haskell programmer. Am I missing something (non-)obvious in my reasoning?

-- % Andre Pang : trust.in.love.to.save <http://www.algorithm.com.au/>

FFI mailing list

Reply via email to