在Archlinux上设置Haskell的建议方法是什么?

qaxu7uf2  于 2022-11-14  发布在  Linux
关注(0)|答案(2)|浏览(178)

长话短说,我想得到一些关于让Haskell在Archlinux上工作的(最好)方法的指导。
我所说的 work 指的是所有的,就ghci命令行工具而言,安装我没有的包--比如vector-space,我的一个问题所指的this answer--以及任何其他对Haskell顽固的学习者来说可能是必要的东西。
Archlinux wikipage on Haskell列出了三个(alternative?)使Haskell在系统上工作的软件包,即ghccabal-installstack。我已经在系统上安装了第一个和第三个,但我想我一定是后来安装了后者(除非它是ghc的依赖项)(可能与Vim as a Haskell IDE有关)。此外,我安装了大量的haskell-*软件包(为什么呢?谁知道呢?作为一个学习者,我一定有很多次说“嗯,让我们试试这个!”)。

  • 关于这些软件包中的每一个都有什么优点和缺点(“cons“,啊哈)吗?
  • 它们是否都可以在有/无冲突的情况下使用?
  • 它们中的任何一个会使其他任何一个变得多余吗?
  • 还有什么是我应该知道的,而我似乎显然是无知的基础上,我已经写了?
z4iuyo4d

z4iuyo4d1#

Arch Linux选择在软件包中提供动态链接库,这会妨碍您开发Haskell代码。作为Arch的用户,我的默认建议是不要使用Arch的Haskell软件包,而是通过ghcupStack安装您需要的任何东西,从各自项目页面的指导开始。

plicqrtu

plicqrtu2#

你基本上已经做到了。试试下面的方法:

  • ghci:如果你得到了Haskell REPL,那么它就工作了。
  • stack ghci:同样,你应该得到Haskell REPL。GHC有很多版本,stack管理这些版本和库。每当你使用GHC的新版本时,stack会下载它并为你创建一个本地安装。

stack独立于你的Linux软件包管理器。问题是你的发行版只有它集成的应用程序实际需要的Haskell库,一旦你离开了这些库,你就陷入了没有支持的依赖地狱。所以我建议你避开你的发行版Haskell软件包。stack能做你需要的一切。
如果您是从Linux软件包管理器安装的stack,那么您可能需要卸载它并使用个人副本(即在您的~/.local目录中)。然后您可以随时说stack update来检查您是否有最新的版本。
一旦你有了stack,通过说stack new my-project simple来创建一个项目。然后进入项目文件夹并开始编辑。如果你真的想的话,你可以只使用.hs文件和GHC,但是这很痛苦;使用stack您会做得更好,即使您只是在乱搞。
你还需要一个编辑器。像语法高亮这样的基本功能几乎在任何地方都可以使用,但是一旦你通过了河内之塔,你会想要更好的东西。我使用Atom和ide-haskell-ghcide。这在引擎盖下面使用Haskell Language Server,所以你也需要安装它。我知道很多其他编辑器都有HLS支持,但是我没有使用它们的经验。

相关问题