
Hi Bill
I am really talking about a module or perhaps a Haskell class that provides notion for multiple threads of execution, semaphores, .. that "hides" POSIX vs Win32 APIs .. i.e. the underlying OS APIs would be totally hidden.
I think you are thinking in a "C" way. In Haskell, portable is the default. If you want to stop your code being portable, you have to go out of your way. Haskell is a much higher level language than others (such as C). Because the language is higher level, it tends to promote much higher level abstraction in the libraries - hiding platform idiosyncrasies in the process.
IMO if Haskell (or say OCaml) want to be accepted by industry this kind of functionality is absolutely critical.
It is critical. Perhaps if C wants to be taken seriously it should provide portability, which has been present in Haskell since the beginning :-) Thanks Neil