
As I understand it, programs compiled with GHC currently use MSYS for all I/O operations, resulting in all kinds of strange behaviour in corner cases. (E.g., if you use System.Directory and ask whether "C:\\" is a directory, it says no, yet you can read the contents of that directory.) I would have thought that calling the Win32 API directly would probably fix most of these minor glitches. Is that what this package is intending to do?
Yes. When Simon adds the new Handle API to GHC i will add support for creating Haskell handles that will be implemented internally with Windows handles and call WinAPI functions. The current winio package contains mostly low-level functions that directly expose Windows handles which is useful for writing server code etc. Eventually when the library is stable i would prefer if it becomes part of GHC's libraries (or a new default Haskell I/O library for all operating systems). Regards, Felix