John Meacham:
> It is my understanding that the FFI foreign imports declare an ABI and
> not an API, meaning the exact way to make the foreign call should be
> completely deterministic based on just what is in the haskell file
> proper. Otherwise, obviously, direct to assembly implementations would
> be impossible.
> 
> In this sense, include files are always potentially optional, however,
> due to the oddness of the C langauge, one cannot express certain calls
> without proper prototypes, current haskell implementations take the
> straightforward path of relying on the prototypes that are contained in
> the system headers, which also incidentally provides some safety net
> against improperly specified FFI calls. However, it would also be
> reasonable for an implementation to just generate its own prototypes, or
> use inline assembly or any other mechanism to implement the FFI ABI
> calls properly.

Exactly!  The FFI Addendum specifically leaves the compiler complete
freedom as to which method to choose.  I regard this property of the
specification as important and we should keep it for Haskell'.

Manuel


_______________________________________________
Haskell-prime mailing list
Haskell-prime@haskell.org
http://haskell.org/mailman/listinfo/haskell-prime

Reply via email to