你如何在Haskell平台上安装Alex?

时间:2018-03-05 04:56:19

标签: haskell alex

我在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?

1 个答案:

答案 0 :(得分:2)

alex是一个可执行程序,从命令行运行,而不是从GHCi调用的库。

要通过alex(已安装)运行stack,请输入:

stack exec alex H.x

(假设你实际上有一个名为H.x的文件)

第一次像这样运行时,stack会构建alex,这需要几分钟时间。这只会发生一次,后续运行会很快。

如果您想在没有alex的情况下投放stack,可以让stackalex放在PATH上。为此,请键入:

stack install alex

之后,您可以执行alex,而无需每次都预先stack exec

alex H.x