ANN: H98 FFI Addendum 1.0, Release Candidate 13

Manuel M T Chakravarty chak at cse.unsw.edu.au
Thu Nov 6 00:24:49 EST 2003


Ross Paterson <ross at soi.city.ac.uk> wrote,

> You have the bit about unrepresentable Chars becoming '?' in the legacy
> byte string part.  I think it belongs in locale-dependent CString part.
> (I believe the single byte conversion discards all but the lower 8 bits,
> though there's probably no need to say that.)

Oops.  I moved the comment.  In fact, I added to the
locale-dependent CString part the following text:

  The translation between Unicode and the encoding of the
  current locale may be lossy.  The function
  \code{charIsRepresentable} identifies the characters that
  can be accurately translated; unrepresentable characters
  are converted to `?'.

> Other minor things (about old stuff):
> 
> * I think the description of newCString, etc needs to say that the
>   memory so allocated may be released using MarshalAlloc.free.

Good point.  I added a sentence to that effect.

> * CString is said to be NUL-terminated, but presumably CStringLen is not
>   assumed to have a NUL.  Perhaps this would be clarified by defining
>   it as (Ptr CChar, Int) instead of (CString, Int) and similarly for CWString.

Ok, I changed the definition of the type synonyms
accordingly.

Cheers,
Manuel


More information about the FFI mailing list