我在Windows上安装了Haskell Platform 8.2.2。当我在ghci
之后运行alex H.x
并输入Prelude>
时,我会
<interactive>:3:6: error:
Not in scope: `H.x'
No module named `H' is imported.
当我只输入alex
时,我会
<interactive>:6:1: error:
* Variable not in scope: alex
* Perhaps you meant `lex' (imported from Prelude).
我查看Haskell Platform\8.2.2\lib
,我可以看到名为Cabal-2.0.1.0
的文件夹,但alex
没有。
如何安装Alex?
答案 0 :(得分:2)
alex
是一个可执行程序,从命令行运行,而不是从GHCi调用的库。
要通过alex
(已安装)运行stack
,请输入:
stack exec alex H.x
(假设你实际上有一个名为H.x
的文件)
第一次像这样运行时,stack
会构建alex
,这需要几分钟时间。这只会发生一次,后续运行会很快。
如果您想在没有alex
的情况下投放stack
,可以让stack
将alex
放在PATH
上。为此,请键入:
stack install alex
之后,您可以执行alex
,而无需每次都预先stack exec
:
alex H.x