Dear Haskell Folks, Release Candidate 10 of the H98 FFI Addendum 1.0 is now available from http://www.cse.unsw.edu.au/~chak/haskell/ffi/ The change log since RC 7, which was the last version circulated via haskell@haskell.org, is appended below. Please review this specification carefully. If no suggestion that leads to a serious change is made within two weeks, I will freeze version 1.0. Thanks, Manuel -=- Changes since RC9: * 1: Mentioning interaction with foreign threads as an open problem. * 2 & 3: Removed `threadsafe' again, as the proposal for thread support is still evolving and it is not yet clear whether a new safety level is required. * 5.5: Added the type synonym `FinalizerPtr' and rewrite the documentation of finalizers. * 5.6: Clarified the description of `StablePtr' * 5.8: Added `finalizerFree' * 6.2: All the types in CTypes must be newtypes that are exported abstractly. Changes since RC8: * 5.8: `MarshallAlloc.reallocBytes' is no longer permitted on memory allocated with `alloca' or `allocaBytes'. * 6.1: Deinitialisation of the RTS via `hs_exit()' followed by (re)initialisation with `hs_init()' must be supported. Changes since RC7: * Clarified the lexis of C identifiers and C header file names * In `ForeignPtr', added `mallocForeignPtrArray' and `mallocForeignPtrArray0' * Clarified spec of allocations functions adding constraints taken from the corresponding C routines * `mallocBytes' and `allocaBytes' must align memory sufficiently for any basic foreign type that fits into the allocated block * Removed typos in the description of the module `ForeignPtr' * Added Peter Gammie to the list of acknowledged people * `addForeignPtrFinalizer' guarantees that finalizers for a single foreign pointer are executed in the opposite order as they were added. * `Storable': Require that the size is divisible by the alignment * Added Ross Paterson to the list of acknowledged people * Added hs_free_fun_ptr() and hs_free_stable_ptr() * Changed order of arguments of `mkIOError' and `annotateIOError' to match with the current implementation in GHC's FFI libraries.