直到最近,我一直使用这个美妙的方法来使用 stack 构建和运行项目:
stack build && .stack-work/install/x86_64-linux/lts-4.1/7.10.3/bin/<project-name>
我在IRC上被告知,这可以简化为:
stack build && stack exec <project-name>
这个能够再更简化一些吗,变成
stack run
或者至少
stack run <project-name>
如果我没记错的话,这是通过cabal run
实现的。
编辑:
@haoformayor的评论已经接近了:
alias b='stack build --fast --ghc-options="-Wall" && stack exec'
虽然这还需要项目名称,对吧?
我也开始跟...亲近了。
function stack-run () { stack build && stack exec `basename "$PWD"` }
虽然这只有在项目名称与文件夹名称匹配时才能起作用。也许我们可以查询 .cabal 文件中第一个 executable
条目的 cabal/stack?或者我们可以使用 sed
完成它...
alias b='stack build --fast --ghc-options="-Wall" && stack exec'
。 - haogrep '^executable' *.cabal | cut -d ' ' -f 2 | head -n 1
- haostack runghc ./src/Main.hs
。 - epsilonhalbestack run
命令! - bradrn