
On 27/03/07, Simon Marlow
The main thing that Haskell' should do, IMO, is to get rid of everything IOish from the Prelude and drop the IO module. Then it becomes possible to disentangle the IO library from the base package (well, more possible at least), and we can think about experimenting with alternative IO APIs.
Personally, my hope for solving the libraries problem (libraries need to be updated more often than a compiler release rolls around), is cabal-install. IMO GHC should ship with a _very_ minimal set of libraries, perhaps none at all, then cabal-install should be used to install, and keep up-to-date, the associated libraries. Then changes like adding System.FilePath will take place within a week or two, not within a year or two. As I see it, this approach still has two major disadvantages: 1) It makes it impractical to code Haskell without a network connection, although this is become less of a problem all the time (who currently does code without one?) 2) Breaking backward-compatibility would have to be treated _very_ seriously, as otherwise we'd end up with literally hundreds of different versions of the libraries, none of which compatible with one another, and with applications written with only specific versions in mind. Still, food for though. Don't let's detract from the System.FilePath discussion, though. -- -David House, dmhouse@gmail.com