
26 Jan
2009
26 Jan
'09
11:32 p.m.
I have encountered quite a bit of bugs in foreign bindings where "Int" was used in place of "Cint". As far as I know, no foreign function should ever take a Haskell Int, only CInts. Would it be possible to create an empty type-class of which various C-acceptable types are instances (e.g CInt, CString) but Haskell types aren't (Ints)? I am not sure this is the right solution, but I think the problem of accidentally using Int in place of CInt should be solved so that compile-time errors are received, as for x86-32 systems, no compile time or even runtime error will be issued. It will wait and crash when run on an x86-64 system. Eyal