Marcin 'Qrczak' Kowalczyk wrote:
[...] If language separation is realistic, we would also keep errno handling outside basic Foreign.
Hmmm, indeed. `CErrors' or `CErrno' would be a good name IMHO.
But it yields several separate C-specific modules...
module CForeign?
It would reexport Foreign, CTypes, CTypesISO, MarshalCString and CErrors (or whatever they will be called).
I'd second that (with the small addition that MarshalCString is replaced by CString/CStringLen).
BTW, why are CTypes and CTypesISO separate?
CTypes handles what I consider "builtin" types of the C language itself and CTypesISO handles library-related types defined by the ISO standard. And a more pragmatic reason: Compilation times and memory resources during compilation are already large enough in the current state of affairs... Cheers, Sven