openTempFile only defined on GHC

Sven Panne sven.panne at
Mon Apr 2 08:21:47 EDT 2007

On Monday 02 April 2007 12:48, Bulat Ziganshin wrote:
> this means that these functions should be implemented in GHC.*, NHC.*
> and Hugs.* and only then System.IO may include interface function that
> will call one of them

I don't think that this will really solve portability issues, as we would 
still need #ifdefs in System.IO to import the right module. The general 
question is: Where do we want to solve these issues: Within the code or 
outside of it (i.e. in the build system)? Both approaches have pros and cons, 
but if we want to factor things out into the build system, we would need a 
System.IO.Impl module, which is specific to a Haskell implementation and 
outside base, but which has an implementation-independent API. Mixing both 
approaches only complicates things with no real benefit.


More information about the Libraries mailing list