12

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.

Sarah Vessels
  • 30,930
  • 33
  • 155
  • 222
Michael Ilyin
  • 717
  • 8
  • 15

12 Answers12

28

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.

gnud
  • 77,584
  • 5
  • 64
  • 78
  • 2
    +1 for great haskell support on Arch. But note that Arch is not for the faint of heart and usually requires more tweaking with configuration files than the more user-friendly distributions (redhat, ubunto, suse). – nimrodm Oct 15 '09 at 04:14
  • 2
    +1 best Haskell supported distro. There's even an irc-channel on irc.freenode.net for #archhaskell ! – davidbe Oct 15 '09 at 08:09
  • 3
    @nimrodm Haskell is not for the faint of heart too! – Abdulsattar Mohammed Mar 14 '12 at 17:21
8

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.

linquize
  • 19,828
  • 10
  • 59
  • 83
Federico Squartini
  • 1,188
  • 8
  • 14
6

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.

ephemient
  • 198,619
  • 38
  • 280
  • 391
  • 4
    This is exactly the correct way to evaluate which distro to use for Haskell. First, ask which, if any, version of the Haskell Platform is provided. Secondly, ask what proportion of additional Hackage packages are provided. The absolute only concern for beginners is whether the platform is supported -- and it is now widely supported. – Don Stewart Oct 15 '09 at 05:29
  • On Gentoo, all Haskell Platforms from 2012 to 2014 are available. I don't know why an outdated Platform is relevant. – Turion Jul 07 '15 at 12:30
6

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.

Alexander
  • 9,737
  • 4
  • 53
  • 59
5

Not sure about Haskell specifically, but I've found Ubuntu is greatly kept up to date but more importantly than that they tend to stress stability. If you are doing Haskell development, I assume you'd prefer stability over bleeding edge software...

Frank V
  • 25,141
  • 34
  • 106
  • 144
  • I did some playing around with Haskell (nothing serious though) and Ubuntu worked out fine. – leonm Oct 14 '09 at 21:00
2

on Debian & Ubuntu, you can install Haskell very easily.. You just have to type some command onto the terminal, and it will do the rest..

just follow this link, it is about "Haskell installation on linux".. the link is to my blog only.. i think it will be helpful..

http://akashjagdhane.blogspot.in/2013/02/installing-all-packages-of-haskell-so.html

  • Even though posting links is fine usually avoid them ,just in case the target site is unreachable or goes permanently offline. Nothing wrong in it, just saying its better to post the answer here instead of a redirection to elsewhere. – Akshay Hazari Dec 29 '15 at 10:16
2

Actually you don't have to choose a particular one as long as the one you use provides at least packages of one of the available Haskell interpreters/compilers (Hugs, GHC, etc.) AND cabal/darcs (you need one of them to pick some useful libs/tools from the huge HackageDB or darcs repos). I used to consider the same question but later when I know how to use cabal/darcs to find what I need I get that your choice is almost irrelevant. Though I prefer Arch, Ubuntu, Fedora (or some other distro people mentioned above) will do.

day
  • 2,292
  • 1
  • 20
  • 23
0
  • Fedora typically contains more up to date [bleeding edge] software. It contains the same tools as centos (yum, rpms, etc), so it might be more natural if you are familiar with CentOS.
  • Mint is an exceptionally good derivative of Ubuntu. This is my favorite distro ATM.
Matt
  • 1,222
  • 1
  • 9
  • 18
0

I'm learning Haskell and i'm using Ubuntu, it's very good and stable.

Regards.

Nathan Campos
  • 28,769
  • 59
  • 194
  • 300
0

Typically the repositories are geared toward a "general" case, rather than a high end user. You may get more benefit by building ghc from source with all your own requirements.

You might want to check around to non-standard repositories, to see if other Haskell affectionados have already done the work for you.

Satanicpuppy
  • 1,569
  • 8
  • 11
0

It depends on how much memory your machine has. People face problems with GHC on machines with 512MB RAM and small swap partitions such as EeePC or VPS/VDS machines (by host1free.com, f.e.).

If you have less than 1GB RAM then I would recommend you to compile GHC on Gentoo with splitobjs=NO (and Gentoo does this automatically for machines with 512Mb of RAM or less). Otherwise you can stick with Archlinux or any other Linux distribution of your preference.

HaskellWiki has a page devoted to rife Linux Distributions and their Haskell support channels.

Community
  • 1
  • 1
ilyaigpetrov
  • 3,657
  • 3
  • 30
  • 46
0

I found Haskell support on Gentoo excellent.

Whatever outdated information about Gentoo has been posted here, the current Gentoo tree includes the 2014.2 Haskell platform.

  • There is a page on the Gentoo wiki with very clear instructions. I find the Arch wiki page quite confusing in comparison.
  • Installation of Haskell packages is done with the Gentoo package manager, Portage. It's much more convenient to use than cabal and will prevent a cabal hell.
  • If you activate the Haskell Overlay, you'll be able to install most packages from Hackage.
  • It's next-to-trivial to install packages that are not in the Gentoo tree or the Haskell overlay, using Hackport. It creates a Gentoo package from a Haskell package, which you can then install on your system like any other package.
  • A tool called haskell-updater ensures that all your Haskell packages have compatible versions.
  • There is an IRC channel, #gentoo-haskell, in which you'll get help with all Gentoo-specific Haskell problems.
Turion
  • 5,684
  • 4
  • 26
  • 42