System.Win32.Types to base library?

Simon Marlow simonmarhaskell at
Thu Oct 25 06:15:05 EDT 2007

Bulat Ziganshin wrote:

> Tuesday, October 23, 2007, 9:02:57 PM, you wrote:
>> This won't help you right now, but FYI the long term plan is to split
>> the base package up to the extent that Win32 can be underneath most of
>> base rather than on top of it.
> the Handle type is used in the IOException type which is used in IO
> type definition and Prelude.catch. so it will be hard to move Handle
> definition outside of GHC/IOBase module

Ultimately, the whole IO library needs to be separated.  I think a 
prerequisite for this will be to do extensible exceptions, because the 
reason that everything is so tightly coupled at the moment is because the 
Monad instance for IO refers to Exception, and Exception refers to Handle, 
as you say.  With extensible exceptions we can break this dependency.


More information about the Libraries mailing list