gpt4 book ai didi

haskell - Cabal Vs runhaskell,什么时候使用?

转载 作者:行者123 更新时间:2023-12-04 23:19:59 27 4
gpt4 key购买 nike

在 haskell 构建系统中,Cabal以及 runhaskell有几乎相同的子命令集,configure , build .对于 runhaskell,它是:

runhaskell Setup.hs configure
runhaskell Setup.hs build

...而对于 cabal 来说,它是:
cabal build
cabal configure

那么,我应该什么时候使用哪个命令呢?这两个命令是否具有相同的功能?

我可以运行吗 runhaskell没有 sudo 访问权限,因为我看到 runhaskell在内部输入条目 /opt/ghc/7.8.4/lib而 cabal 在 sudo/非 sudo 模式下工作?

最佳答案

cabalrunhaskell服务于完全不同的目的。
runhaskell用于执行 Haskell 程序而不需要
需要编译它们。你可以把它放在 Haskell 文件的顶部:#!/usr/bin/env runhaskell并赋予它脚本能力。 cabal是一个包管理器和一个构建系统
对于 haskell 。

还有 cabalrunhaskell不要分享他们的子命令,比如
configure , build , install等等。

i saw in this link bob.ippoli.to/archives/2013/01/11/getting-started-with-haskell, two commands being used... runhaskell Setup.hs configure && runhaskell Setup.hs build



通常 Setup.hscabal init 生成时有以下代码:
import Distribution.Simple
main = defaultMain

现在,如果您看到 defaultMain 的实现:
defaultMain :: IO ()
defaultMain = getArgs >>= defaultMainHelper simpleUserHooks

所以你传递的实际上是命令行参数,它可以是任何东西。事实上,你可以自己测试:
$ runhaskell Setup.hs invalid_argument
unrecognised command: invalid_argument (try --help)

关于haskell - Cabal Vs runhaskell,什么时候使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29718123/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com