Dear FFI Folks, Despite my claim that RC12 would, modulo errata, become Version 1.0 of the FFI Addendum, I like to propose another (last!) set of changes. The two changes are the following:
(1) The addition of a variant of foreign finalizers that take an extra environment argument that facilitates the emulation of closures in C. This adds two functions to `ForeignPtr'. I propose to include this feature, as it has been discussed on this list before, and has only be omitted due to an oversight by me. (Thanks to Peter Gammie for pointing me to the oversight.) (2) The inclusion of John Meacham's `CWString' and `CLString' routines. However, I propose to make the localised versions (aka `CLString') the default and rename the previous (8bit-based) routines to use a `CAString' suffix, where the `A' stands for ASCII. John proposal has been favourably received on this list and it covers an important aspect of string marshalling quite flexibly with a simple interface. Hence, Release Candidate 13 of the H98 FFI Addendum 1.0 is now available from http://www.cse.unsw.edu.au/~chak/haskell/ffi/ Please check sections 5.5 and 6.3, which have been considerably extended. For the second time...I consider Version 1.0 of the FFI Addendum to be completed; no changes except linguistic ones and plain error corrections will be accepted anymore for this version. Cheers, Manuel PS: Both changes have already been discussed with Simon Marlow and Alastair Reid in person. -=- Changes since RC12: * Acks : Added John Meacham * 4.1.5: Bug fix courtesy of Wolfgang Thaller * 5.5 : Added `FinalizerEnvPtr', `newForeignPtrEnv', and `addForeignPtrFinalizerEnv' * 6.3 : Added John Meacham proposal for `wchar_t' support as well localised string marshalling; in particular, this adds `CWString' and `CWStringLen' as well as the `CWString' and the `CAString' family of marshalling routines. In addition, `charIsRepresentable' was added. _______________________________________________ FFI mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/ffi