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