【发布时间】:2010-12-06 20:06:47
【问题描述】:
哪个 Linux 版本最适合 Haskell 开发?我想安装 ghc 并在其中编译 Leksah。 我现在正在使用 CentOS,但它的存储库不够丰富和新鲜。
【问题讨论】:
标签: linux haskell distribution
哪个 Linux 版本最适合 Haskell 开发?我想安装 ghc 并在其中编译 Leksah。 我现在正在使用 CentOS,但它的存储库不够丰富和新鲜。
【问题讨论】:
标签: linux haskell distribution
我发现 Gentoo 上的 Haskell 支持非常好。
无论此处发布了关于 Gentoo 的任何过时信息,当前的 Gentoo 树都包括 2014.2 Haskell 平台。
haskell-updater 的工具可确保您所有的 Haskell 包都有兼容的版本。【讨论】:
我打算检查NixOS。它有一个纯功能的package manager(支持多个版本和回滚),它是由 Haskell 程序员开发的,它有一些 Haskell 包。
就包的数量而言,它可能不是最完整的,但它似乎对 Haskellers 来说非常有趣。
【讨论】:
这取决于你的机器有多少内存。 人们face problems 在具有 512MB RAM 和小型交换分区的机器上使用 GHC,例如 EeePC 或 VPS/VDS 机器(来自 host1free.com,f.e.)。
如果您的 RAM 少于 1GB,那么我建议您在 Gentoo 上使用 splitobjs=NO(和 Gentoo does this automatically for machines with 512Mb of RAM or less)编译 GHC。否则,您可以坚持使用 Archlinux 或您喜欢的任何其他 Linux 发行版。
HaskellWiki 有一个page devoted to rife Linux Distributions 和他们的 Haskell 支持频道。
【讨论】:
在 Debian 和 Ubuntu 上,您可以非常轻松地安装 Haskell.. 你只需要在终端上输入一些命令,剩下的就交给它了..
只需点击此链接,它是关于“在 linux 上安装 Haskell”.. 该链接仅指向我的博客..我认为这会有所帮助..
http://akashjagdhane.blogspot.in/2013/02/installing-all-packages-of-haskell-so.html
【讨论】:
我使用的是 Arch Linux,虽然 Haskell 得到了很好的支持,并且有很多软件包大多是最新版本,但版本和依赖项存在问题。
一个典型的 Haskell 包依赖于其他几个包。例如,它可能取决于版本 1.0.1。另一个包所依赖的一个或多个包已经更新到“1.0.2”,从而打破了对“1.0.1”版本的依赖,这是极其常见的。
如果您尝试安装位于金字塔状依赖关系树中较高位置的 Haskell 包,例如 GUI 应用程序或游戏,您可以确定它只能安装几个几天一次,直到安装失败,因为用于变形 monads 的晦涩软件包已从 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 包如何相互依赖的问题。一个可以依赖特定函数的特定版本而不是依赖库的系统可能会有所帮助。
【讨论】:
实际上,您不必选择特定的,只要您使用的至少提供了可用的 Haskell 解释器/编译器之一(Hugs、GHC 等)和 cabal/darcs(您需要一个他们从巨大的 HackageDB 或 darcs 存储库中挑选一些有用的库/工具)。我曾经考虑过同样的问题,但后来当我知道如何使用 cabal/darcs 找到我需要的东西时,我发现你的选择几乎无关紧要。虽然我更喜欢 Arch、Ubuntu、Fedora(或上面提到的其他发行版)。
【讨论】:
Haskell 平台 2009.2.0.1 在 Fedora 11 中。
Haskell 平台 2009.2.0.2 在 Fedora 12 中。
Haskell Platform 2009.2.0.2.1 在 Debian Unstable 中,应该会在一周左右迁移到 Testing。
Haskell Platform 2009.2.0.2 在 Gentoo 测试中被屏蔽。
Arch Linux 可能是最全面的,将近 90% 的 Hackage 打包在 AUR 中。
【讨论】:
通常,存储库面向“一般”案例,而不是高端用户。根据您自己的要求从源代码构建 ghc,您可能会获得更多好处。
您可能想查看非标准存储库,看看其他 Haskell 爱好者是否已经为您完成了这项工作。
【讨论】:
我正在学习 Haskell,我正在使用 Ubuntu,它非常好且稳定。
问候。
【讨论】:
我当前的发行版 Arch Linux 广泛支持 Haskell。
您可以看到直接可用的 haskell 包的状态here(在撰写本文时,有 1370 个包可用)。还有一个 wiki page 关于 Arch Linux 中的 Haskell 包。
【讨论】:
不确定 Haskell 的具体情况,但我发现 Ubuntu 保持最新状态,但更重要的是它们倾向于强调稳定性。如果您正在进行 Haskell 开发,我认为您更喜欢稳定性而不是尖端软件...
【讨论】: