选择Linux发行版进行Haskell开发

选择Linux发行版进行Haskell开发,linux,haskell,distribution,Linux,Haskell,Distribution,哪个Linux版本最适合haskell开发?我想安装ghc并在其中编译Leksah。 我现在正在使用CentOS,但它的存储库不够丰富和新鲜。不确定Haskell的具体情况,但我发现它非常及时更新,但更重要的是,它倾向于强调稳定性。如果你在做Haskell开发,我想你更喜欢稳定性而不是前沿软件 我当前的发行版对Haskell有广泛的支持 您可以看到直接可用的haskell软件包的状态(在撰写本文时,有1370个软件包可用)。在Arch Linux中还有一个关于Haskell软件包的介绍。 通常包

哪个Linux版本最适合haskell开发?我想安装ghc并在其中编译Leksah。
我现在正在使用CentOS,但它的存储库不够丰富和新鲜。

不确定Haskell的具体情况,但我发现它非常及时更新,但更重要的是,它倾向于强调稳定性。如果你在做Haskell开发,我想你更喜欢稳定性而不是前沿软件

我当前的发行版对Haskell有广泛的支持

您可以看到直接可用的haskell软件包的状态(在撰写本文时,有1370个软件包可用)。在Arch Linux中还有一个关于Haskell软件包的介绍。

  • 通常包含更多最新的[前沿]软件。它包含与centos相同的工具(yum、rpms等),因此如果您熟悉centos,它可能会更自然
  • 是一个非常好的衍生产品。这是我最喜欢的发行版ATM

    • 我正在学习Haskell,我正在使用Ubuntu,它非常好而且稳定


      注意。

      通常,存储库面向“一般”情况,而不是高端用户。您可以从源代码构建ghc并满足自己的所有需求,从而获得更多的好处


      您可能需要查看非标准存储库,看看其他Haskell Infectado是否已经为您完成了这项工作。

      Haskell Platform 2009.2.0.1位于Fedora 11中。
      Haskell平台2009.2.0.2位于Fedora 12中。
      Haskell平台2009.2.0.2.1在Debian中不稳定,大约一周后应该迁移到测试中。
      Haskell平台2009.2.0.2在Gentoo测试中被屏蔽。

      Arch Linux可能是最全面的,将近90%的黑客行为都是用AUR打包的。

      事实上,您不必选择特定的黑客行为,只要您使用的黑客行为至少提供一个可用的Haskell解释器/编译器(Hugs、GHC等)和cabal/darcs包(你需要他们中的一个从大型HACKAGEDB或DARCS RePOS中挑选一些有用的LIBS/工具)。我曾经考虑过同样的问题,但是后来当我知道如何使用Cabal/DARCS来找到我需要的东西时,我发现你的选择几乎是不相关的。虽然我更喜欢ARCH、Ubuntu、FEDORA(或者其他一些上面提到的DeMo)。就可以了。

      我使用的是Arch Linux,虽然Haskell得到了很好的支持,有很多软件包都是最新版本,但版本和依赖性存在问题

      一个典型的Haskell包依赖于其他几个包。例如,它可能依赖于版本1.0.1。另一个包所依赖的一个或多个包被更新为“1.0.2”,从而打破了对“1.0.1”版本的依赖

      如果您试图安装一个位于金字塔状依赖树中较高位置的Haskell软件包,如GUI应用程序或游戏,您可以非常肯定,一次只能安装几天,直到安装失败,因为用于转换monads的晦涩软件包已从版本3.0.4更新到3.0.5

      还有,“拱门哈斯克尔”的整个想法团队拥有所有Haskell包,而不是AUR的受信任用户或普通用户是一个糟糕的想法,因为与其他人相比,他们更新包的速度很慢。我不知道为什么Haskell包被视为例外,因为这在Arch Linux中并不常见

      我曾经遇到过这样的情况:用Haskell包修复神秘编译问题的唯一方法是卸载并重新安装所有Haskell依赖项,包括ghc

      总而言之,Arch对于Haskell开发来说是非常棒的,但是当你不只是在依赖金字塔的底层安装一个包的时候,你很容易陷入一个破碎包的海洋中。这通常是由于不兼容的次要版本号,而不是不兼容的代码

      我喜欢ArchLinux和Haskell,但仍然认为这是一个问题

      更新#1:Arch已经不再拥有拥有所有haskell软件包的“Arch haskell”团队,现在应该成为各地haskell开发人员的首选

      更新#2:我不认为版本的问题是Arch特有的问题,而是Haskell软件包如何相互依赖的问题。一个可以依赖特定函数的特定版本而不是依赖库的系统可能会有所帮助。

      我计划检查一下。它有一个纯粹的功能(支持多个版本和回滚),它是由Haskell程序员开发的,并且有几个Haskell包


      就软件包数量而言,它可能不是最完整的,但对Haskeller来说似乎非常有趣。

      在Debian和Ubuntu上,您可以非常轻松地安装Haskell。。 您只需在终端上键入一些命令,它就会完成其余的操作

      只需点击这个链接,它是关于“在linux上安装Haskell”的。。 这个链接只指向我的博客。我想这会很有帮助


      这取决于您的机器有多少内存。 在具有512MB RAM和小型交换分区(如EeePC或VPS/VDS机器)的机器上使用GHC的人员(通过host1free.com,f.e.)

      如果您的内存不足1GB,那么我建议您在Gentoo上使用
      splitobjs=NO
      (and)编译GHC。否则,您可以使用Archlinux或您喜欢的任何其他Linux发行版


      Haskell Wiki有一个和他们的Haskell支持渠道。

      我发现Gentoo上的Haskell支持非常好。

      无论这里发布了多少关于Gentoo的过时信息,当前的Gentoo树包括2014.2 Haskell平台

      • 有一个非常清晰的说明。相比之下,我觉得Arch wiki页面相当混乱
      • Haskell软件包的安装是通过Gentoo软件包管理完成的