openTempFile only defined on GHC

Sven Panne sven.panne at
Mon Apr 2 08:54:13 EDT 2007

On Monday 02 April 2007 14:41, Bulat Ziganshin wrote:
> 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

"standard" does not necessarily imply "good".

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

It is relevant: Before joyfully moving things around modules, we should have a 
common and clear picture what we should aim for. Currently, I don't see this, 
so I object to ad hoc changes.


More information about the Libraries mailing list