
On Sat, May 01, 2010 at 08:05:58PM +0100, Simon Marlow wrote:
On 01/05/10 17:16, Ian Lynagh wrote:
So it seems this is closer to option (2) in my message, because portablebase and haskell2010 overlap, and are therefore mutually exclusive, whereas in (4) haskell2010 and base2010 are non-overlapping - that's the crucial difference.
If they are non-overlapping, how would a new Data.List function be added? Or an existing Data.List function be altered?
In this scenario there would be base as it is now, and base2010 (or whatever you want to call it) that is base minus the modules in haskell2010. So you can add things to base:Data.List, but haskell2010:Data.List must export exactly the API as specified in the report.
So someone using haskell2010+base2010 wouldn't be able to use this new function?
I described this as a non-option because I thought trying to use the packages together might be a common problem that leads to obscure error messages about ambiguous modules, but perhaps it's not that bad, or at least not worse than the other solutions.
Direct imports of base* and haskell* could be (dis)allowed by the implementation depending on whether it is in "Haskell 2010 mode" or not.
Not sure what you mean here - modules are imported, not packages. Type error!
Heh, true. I meant that e.g. ghc --language haskell2010 -package base ... would give an error. Thanks Ian