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.