On Tue, Nov 30, 2004 at 12:41:04AM -0800, Krasimir Angelov wrote: > Hello guys, > > I am working on updated version of HDirect and now I > am going to use CWString API to marshal (wchar_t *) > type to String. I found some inconsistencies in the > API. > - castCWcharToChar and castCharToCWchar functions > are defined only for Posix systems and they aren't > exported. In the same time castCCharToChar and > castCharToCChar have the same meaning and they are > defined and exported on all platforms.
The problem is that these operations are very unsafe, there is no guarenteed isomorphism or even injection between wchar_ts and Chars. If people really know what they are doing, they can do the conversion themselves via fromIntegral/ord/chr, but I don't think we should encourage such unsafe usage with functions when it is simple for the user to work around it themselves. > - CWchar type looks a little bit strange compared to > CChar, CString and CWString types. In my opinion > CWChar looks more consistent. I originally had it as CWChar, but it was changed to CWchar to conform to the already written FFI spec which defined the wchar_t equivalant to be CWchar > Since the CWString API isn't released in previous GHC > releases I think now is the time to fix that. Any > opinions? Any changes would have to be propegated to the FFI spec which is pretty stable. John -- John Meacham - ârepetae.netâjohnâ _______________________________________________ Glasgow-haskell-users mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/glasgow-haskell-users