11

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

4

12 回答 12

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.

于 2009-10-14T20:58:15.300 回答
7

我计划检查NixOS。它有一个纯粹的功能包管理器(支持多个版本和回滚),它是由 Haskell 程序员开发的,它有一些 Haskell 包。

就包的数量而言,它可能不是最完整的,但对于 Haskellers 来说似乎很有趣。

于 2011-11-21T12:25:50.160 回答
6

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

一个典型的 Haskell 包依赖于其他几个包。例如,它可能取决于版本 1.0.1。另一个包所依赖的一个或多个包已经更新到“1.0.2”是非常常见的,从而打破了对“1.0.1”版本的依赖。

如果您尝试安装位于金字塔状依赖关系树中的 Haskell 包,例如 GUI 应用程序或游戏,您可以确定它只能安装几天时间,直到安装失败,因为用于变形单子的晦涩软件包已从版本 3.0.4 更新到 3.0.5。

此外,拥有所有 Haskell 包的“arch-haskell”团队而不是 AUR 的受信任用户或普通用户的整个想法是一个糟糕的想法,因为与替代方案相比,他们更新包的速度很慢。我怎么不知道为什么对 Haskell 包的处理方式有一个例外,因为这在 Arch Linux 中并不常见。

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

总而言之,Arch 非常适合 Haskell 开发,但当您不只是安装依赖金字塔中较低的包时,很容易陷入损坏包的海洋。这通常是由于次要版本号不兼容,而不是代码不兼容。

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

更新 #1:Arch 不再拥有拥有所有 haskell 包的“arch-haskell”团队,现在应该是各地 Haskell 开发人员的首选。

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

于 2011-08-15T09:39:25.583 回答
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.

于 2009-10-14T21:02:47.740 回答
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...

于 2009-10-14T20:58:15.010 回答
2

在 Debian 和 Ubuntu 上,你可以很容易地安装 Haskell。你只需在终端上输入一些命令,剩下的就交给它了。

只需点击此链接,它是关于“在 linux 上安装 Haskell”.. 该链接仅指向我的博客.. 我认为它会有所帮助..

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

于 2013-02-20T17:42:23.630 回答
2

实际上,您不必选择特定的,只要您使用的至少提供可用的 Haskell 解释器/编译器(Hugs、GHC 等)和 cabal/darcs 之一的软件包(您需要其中一个来从巨大的 HackageDB 或 darcs 存储库中挑选一些有用的库/工具)。我曾经考虑过同样的问题,但后来当我知道如何使用 cabal/darcs 找到我需要的东西时,我发现你的选择几乎无关紧要。虽然我更喜欢 Arch、Ubuntu、Fedora(或上面提到的其他发行版)都可以。

于 2009-10-17T12:48:03.683 回答
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.
于 2009-10-14T20:59:32.427 回答
0

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

Regards.

于 2009-10-14T21:00:02.940 回答
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.

于 2009-10-14T21:01:28.717 回答
0

这取决于你的机器有多少内存。人们在具有 512MB RAM 和小型交换分区的机器(例如 EeePC 或 VPS/VDS 机器(by host1free.com, fe))上面临 GHC 问题。

如果你的内存小于 1GB,那么我建议你在 Gentoo 上编译 GHC splitobjs=NOGentoo 会自动为内存为 512Mb 或更少的机器编译)。否则,您可以坚持使用 Archlinux 或您喜欢的任何其他 Linux 发行版。

HaskellWiki 有一个专门介绍 Linux 发行版及其 Haskell 支持频道的页面。

于 2013-04-16T06:55:33.060 回答
0

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

无论此处发布了关于 Gentoo 的过时信息,当前的 Gentoo 树都包括 2014.2 Haskell 平台。

  • Gentoo wiki 上有一个页面,上面有非常清晰的说明。相比之下,我发现 Arch wiki 页面相当混乱。
  • Haskell 包的安装是使用 Gentoo 包管理器 Portage 完成的。它使用起来比 cabal 方便得多,并且可以防止cabal 地狱
  • 如果您激活Haskell Overlay,您将能够从 Hackage 安装大多数软件包。
  • 使用Hackport安装不在 Gentoo 树或 Haskell 覆盖层中的软件包非常简单。它从 Haskell 包创建一个 Gentoo 包,然后您可以像安装任何其他包一样将其安装在您的系统上。
  • 一个名为的工具haskell-updater可确保您所有的 Haskell 包都有兼容的版本。
  • 有一个 IRC 频道 #gentoo-haskell,您可以在其中获得有关 Gentoo 特定 Haskell 问题的帮助。
于 2015-07-07T12:29:38.487 回答