Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

choose Linux distribution for Haskell development [closed]

Which Linux version is the most comfortable for haskell development? I want to install ghc and compile Leksah in it. I'm using CentOS now but it's repository is not rich and fresh enough.

like image 890
Michael Ilyin Avatar asked Oct 14 '09 20:10

Michael Ilyin


4 Answers

Haskell Platform 2009.2.0.1 is in Fedora 11.
Haskell Platform 2009.2.0.2 is in Fedora 12.
Haskell Platform 2009.2.0.2.1 is in Debian Unstable, it should migrate to Testing in a week or so.
Haskell Platform 2009.2.0.2 is masked in Gentoo testing.
Arch Linux is probably the most comprehensive, with nearly 90% of Hackage packaged in AUR.

like image 100
ephemient Avatar answered Nov 08 '22 02:11

ephemient


My current distro, Arch Linux, has extensive support for Haskell.

You can see the status of directly available haskell packages here (at the time of writing, 1370 packages are available). There is also a wiki page about Haskell packages in Arch Linux.

like image 39
gnud Avatar answered Nov 08 '22 04:11

gnud


I plan to check NixOS. It has a purely functional package manager (supporting multiple versions and rollbacks), it's developed by Haskell programmers, and it has a few Haskell packages.

It may not be the most complete in terms of number of packages, but it seems to be very interesting for Haskellers.

like image 7
Federico Squartini Avatar answered Nov 08 '22 02:11

Federico Squartini


I'm using Arch Linux, and while Haskell is well supported, with plenty of packages that are mostly fresh and up to date versions, there is a problem with versions and dependencies.

A typical Haskell package depends on several other packages. For example, it may depend on version 1.0.1. It's extremely common that one or more of the packages that another package depends on have been updated to "1.0.2", thus breaking the dependency on the "1.0.1" version.

If you're trying to install a Haskell package that is high up in the pyramid-like dependency tree, like a GUI-application or a game, you can be quite sure that it will only be possible to install for a few days at a time, until the installation will fail, because an obscure package for transmogrifying monads has been updated from version 3.0.4 to 3.0.5.

Also, the whole idea of an "arch-haskell" team owning all the Haskell packages, instead of trusted users or regular users of the AUR is a terrible idea, as they are slow at updating the packages, compared to the alternative. I how no idea why there has been made an exception for how Haskell packages are treated, as this is uncommon for Arch Linux.

I have experienced cases where the only way to fix mysterious compilation-problems with a Haskell package has been to uninstall and then reinstall all the Haskell dependencies, including ghc.

All in all, Arch is fantastic for Haskell development, but it's easy to get caught up in a sea of broken packages the moment you're not just installing a package low in the dependency pyramid. This is usually due to incompatible minor version numbers, not incompatible code.

I love both Arch Linux and Haskell, but still think this is a problem.

Update #1: Arch has stopped having an "arch-haskell" team that owns all the haskell packages, and should now be the prime choice for Haskell developers everywhere.

Update #2: I don't think the problem with versions is a problem that is specific for Arch, it's a problem with how Haskell packages depends on each other. A system where one can depend on specific versions of specific functions instead of depending on libraries might help.

like image 6
Alexander Avatar answered Nov 08 '22 02:11

Alexander