
On Tue, Mar 12, 2013 at 09:47:21AM +0100, Joachim Breitner wrote:
This is especially true when the shim packages are less simple to use, due to the handling of Prelude.
Just to make sure I am following you, I think you are saying: Everything would work fine if there was a Prelude in base (used by packages that still use base, and not the shims) and a Prelude in one of the shim packages (used by packages that exclusively use the shims, and not base). The problem is that Prelude doesn't fit in any of the sensible shim packages (as it contains, for example, both pure and file IO functions), but having a shim package purely for the Prelude seems excessive. This is a problem regardless of whether we do A or B or both. I think we should avoid getting bogged down in one small detail at this stage. If we make the bulk of the changes now then we still have a few months to polish the result before it gets effectively frozen by being released. If you don't like the idea of putting it in its own package, then I think either the file-io package (as that's the "worst" thing it contains) or the pure package (as that's the package most likely to be depended on anyway) would make most sense. Thanks Ian