ANN: H98 FFI Addendum 1.0, Release Candidate 13
Manuel M T Chakravarty
chak at cse.unsw.edu.au
Fri Oct 31 02:45:41 EST 2003
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.
More information about the FFI
mailing list