On Thu, Apr 10, 2014 at 01:34:00PM +0200, Bardur Arantsson wrote:
On 2014-04-09 09:07, Magnus Therning wrote:
Change 2: Make a news item stating that cabal-install is now the recommended way to install haskell packages. This wouldn't pollute the filesystem since cabal-install installs packages to the ~/.cabal directory by default. We might need to include a tip sheet about how you would handle ghc updates since it requires extra user steps.
It should be noted that cabal-install isn't a package manager in the true sense[1]. I'm not sure this is an argument against making the change you propose, but it's worth noting.
With sandboxing/hsenv I've actually found cabal-install it to work much better than attempting to use distro packages for some libraries. (There error messages for stuff that requires native C libraries aren't always stellar, but that's something you quickly get used to.)
I know some people swear by cabal-install, but I've personally never gotten into using it. The sandbox feature does look neat and I've been meaning to try it out. A very first attempt just now did not impress me though: it wanted to downgrade bytestring for no discernible reason. Probably a user error though.
I think it would be a good idea to strip everything back to just having GHC and cabal-install in the "base" and to take some time to rethink how packaging everything else should work.
Personally I think it depends on what "everything else" is. One approach would be to centre everything around applications. To some extent I think that is the (maybe not explicit) rule for the rest of the packages. That would mean libs aren't packaged for their own sake, only in order to provide an application. This would mean that it'd be entirely possible to /only/ have ghc + cabal-install and still package all applications written in Haskell[^1]. /M [^1]: Ghc still links applications statically it seems so building in a sandbox and then only package the resulting executables. -- Magnus Therning OpenPGP: 0xAB4DFBA4 email: magnus@therning.org jabber: magnus@therning.org twitter: magthe http://therning.org/magnus I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. -- Alan Kay