CCallable/CReturnable classes (was Re: FFI Report, CVS Id 1.5)
Alastair David Reid
reid at cs.utah.edu
Tue Jun 12 14:10:36 EDT 2001
Sven Panne <Sven_Panne at BetaResearch.de> writes:
> I think it boils down to the following: For every calling convention
> there is a fixed set of primitive types which the Haskell system
> must know about, e.g. CInt, CFloat, Ptr a, ... for ccall/stdcall.
I haven't been following the Storable stuff very closely but this mail
made me think about the CCallable/CReturnable stuff currently in GHC
(for which SimonPJ and I share the blame).
Is CCallable/CReturnable a useful part of the new multi-lingual ffi
story (either in the ffi spec or in GHC's implementation of the ffi
spec)?
I think the answer is no: being able to pass a given type to C
doesn't necessarily the same as being able to pass that same type to
Java or C#. They could be supplemented by new classes with names like
{Java,C_Sharp,Python,...}{Callable,Returnable} but that would be ugly.
--
Alastair Reid reid at cs.utah.edu http://www.cs.utah.edu/~reid/
More information about the FFI
mailing list