哪个Linux版本最适合haskell开发?我想安装ghc并在其中编译Leksah。 我现在正在使用CentOS,但它的存储库并不够丰富和新鲜。
答案 0 :(得分:28)
我目前的发行版Arch Linux对Haskell有广泛的支持。
您可以看到直接可用的haskell软件包here的状态(在撰写本文时,可提供1370个软件包)。 Arch Linux中还有一个关于Haskell软件包的wiki page。
答案 1 :(得分:7)
我打算查看NixOS。它有一个纯粹的功能package manager(支持多个版本和回滚),它是由Haskell程序员开发的,它有一些Haskell包。
它可能不是最完整的包数,但对于Haskellers来说似乎非常有趣。
答案 2 :(得分:6)
Haskell Platform 2009.2.0.1在Fedora 11中。
Haskell平台2009.2.0.2在Fedora 12中。
Haskell平台2009.2.0.2.1在Debian Unstable中,它应该在一周左右的时间内迁移到Testing
在Gentoo测试中掩盖了Haskell平台2009.2.0.2
Arch Linux可能是最全面的,其中近90%的Hackage打包在AUR中。
答案 3 :(得分:6)
我正在使用Arch Linux,虽然Haskell得到了很好的支持,但是大量的软件包都是最新版本和最新版本,但版本和依赖项存在问题。
典型的Haskell软件包依赖于其他几个软件包。例如,它可能取决于版本1.0.1。另一个软件包所依赖的一个或多个软件包已经更新为“1.0.2”非常普遍,从而打破了对“1.0.1”版本的依赖。
如果您正在尝试安装类似金字塔的依赖关系树中的高级Haskell软件包,例如GUI应用程序或游戏,您可以确信它只能安装一些一次几天,直到安装失败,因为变形monad的一个模糊包已经从版本3.0.4更新到3.0.5。
此外,拥有所有Haskell软件包而不是可信用户或AUR的常规用户的“arch-haskell”团队的整体想法是一个糟糕的主意,因为与替代方案相比,他们在更新软件包方面速度很慢。我怎么知道为什么Haskell包的处理方式有异常,因为这对于Arch Linux来说并不常见。
我遇到过一些情况,用Haskell软件包解决神秘的编译问题的唯一方法是卸载然后重新安装所有Haskell依赖项,包括ghc。
总而言之,Arch对于Haskell的开发来说非常棒,但是当你不仅仅是在依赖金字塔中安装一个软件包时,它很容易陷入破损的海洋中。这通常是由于不兼容的次要版本号,而不是不兼容的代码。
我喜欢Arch Linux和Haskell,但仍然认为这是一个问题。
更新#1 :Arch已停止拥有拥有所有haskell软件包的“arch-haskell”团队,现在应该成为各地Haskell开发人员的首选。
更新#2 :我不认为版本的问题是特定于Arch的问题,这是Haskell软件包如何相互依赖的问题。一个可以依赖于特定功能的特定版本而不依赖于库的系统可能有所帮助。
答案 4 :(得分:5)
不确定Haskell具体,但我发现Ubuntu大大保持最新,但更重要的是它们往往会强调稳定性。如果您正在进行Haskell开发,我认为您更喜欢稳定性而不是尖端软件...
答案 5 :(得分:2)
实际上你不必选择一个特定的那个,只要你使用的那个提供至少一个可用的Haskell解释器/编译器(Hugs,GHC等)和cabal / darcs的包(你需要一个)他们从巨大的HackageDB或darcs repos中挑选一些有用的库/工具。我曾经考虑过同样的问题,但后来当我知道如何使用cabal / darcs找到我需要的东西时,我得到你的选择几乎无关紧要。虽然我更喜欢Arch,Ubuntu,Fedora(或上面提到的一些其他发行人)会这样做。
答案 6 :(得分:2)
关于Debian& Ubuntu,你可以很容易地安装Haskell .. 你只需要在终端上键入一些命令,它就会完成其余的工作..
只需按照此链接,它是关于“Linux上的Haskell安装”.. 该链接仅限于我的博客..我认为这将有所帮助..
http://akashjagdhane.blogspot.in/2013/02/installing-all-packages-of-haskell-so.html
答案 7 :(得分:0)
答案 8 :(得分:0)
我正在学习Haskell,而且我正在使用Ubuntu,它非常好且稳定。
问候。
答案 9 :(得分:0)
通常,存储库面向“一般”情况,而不是高端用户。您可以根据自己的要求从源代码构建ghc,从而获得更多好处。
您可能想查看非标准存储库,看看其他Haskell感情是否已经为您完成了工作。
答案 10 :(得分:0)
这取决于您的机器有多少内存。 人员face problems在具有512MB RAM和小型交换分区(如EeePC或VPS / VDS机器)的机器上使用GHC(by host1free.com,f.e。)。
如果你的RAM少于1GB,那么我建议你用splitobjs=NO
(和Gentoo does this automatically for machines with 512Mb of RAM or less)在Gentoo上编译GHC。否则,您可以坚持使用Archlinux或您喜欢的任何其他Linux发行版。
HaskellWiki有一个page devoted to rife Linux Distributions及其Haskell支持渠道。
答案 11 :(得分:0)
我发现对Gentoo的Haskell支持非常好。
在这里发布了关于Gentoo的过时信息,目前的Gentoo树包括2014.2 Haskell平台。
haskell-updater
的工具可确保所有Haskell软件包都具有兼容版本。