ANN: H98 FFI Addendum 1.0, Release Candidate 10
Manuel M T Chakravarty
chak@cse.unsw.edu.au
Fri, 23 May 2003 07:33:05 +1000 (EST)
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.