
Am Mittwoch, 23. August 2006 15:23 schrieb Bulat Ziganshin:
[...] i think that better way is to supply non-core libs in source form and just recompile them in this case. so, [...]
Nice theory, but this doesn't work at all in practice: The majority of the packages mentioned so far are not purely Haskell, so one needs tons of development tools and C libraries, headers, etc. (all in a consistent state, of course) to compile those packages, which is a bit tricky on *nices and a huge task on WinDoze. And there might even be packages where Joe User can't get the development tools without signing an NDA... Regarding the sets of packages: This discussion comes up again and again, but it does not really focus on the main point, namely that we simply don't know what is important for a specific user or not. Some people can't live without XML parsing, others want fancy graphics and sound, others depend on elaborated datastructures but are otherwise happy with putStrln. So the only sane way to proceed is as Simon suggested: Ship GHC with the packages needed to compile and run "Hello, world!" and those which are intimately tied to GHC, and all the rest is shipped separately. Cross-module optimizations introduce a lot of dependencies, but are one of the strong points of GHC and are *absolutely* necessary to get decent performance for some applications. I would very much object to give this up for more stable ABIs. This is not a real problem on mature platforms with sensible package management systems, like most modern Linux distros, where one could easily upgrade GHC and automatically upgrade all the Haskell packages needed. Of course WinDoze is a bit different here. Therefore I opt for 2 different WinDoze installers, everything between doesn't make sense IMHO: * A set of highly modularized, small, separate installers for GHC/core packages and each non-core package. * As an alternative, a "sumo"/"omnibus"/<whatever you call it> installer containing everything from the central darcs repo, plus probably even more. This can have the option to install only a subset of the contained packages. The best option would of course be some kind of "net installer", just like Cygwin's setup.exe, but this is of course something for the future. Meanwhile, the first set of small installers should make people happy which have only a limited amount of disk space and a slow internet connection, while the "sumo" installer should make people with modern machines and high-speed ADSL/cable-modem/T1 more happy. Let's not forget that we live in a world where patches regularly exceed 100MB, downloadable game demos are >1GB and disks with >200GB are common even in cheap new computers. In such a setting, it is hard to argue that it is "much better" to surf the Net for an hour to get all the packages one wants instead of downloading and installing everything in a single click within minutes... Cheers, S.