openTempFile only defined on GHC

Bulat Ziganshin bulat.ziganshin at
Mon Apr 2 08:41:38 EDT 2007

Hello Sven,

Monday, April 2, 2007, 4:21:47 PM, you 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.

yes, and this is standard practice. modules in base package should
have compiler-independent interface, but not implementation

> 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.

afaiu, this is not relevant in light of my remark?

Best regards,
 Bulat                            mailto:Bulat.Ziganshin at

More information about the Libraries mailing list