-2

我在 Windows 上安装了 Haskell Platform 8.2.2。当我运行ghci并输入alex H.xafterPrelude>时,我得到

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

4

1 回答 1

2

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

alex通过stack(这是您安装的)运行,请键入:

stack exec alex H.x

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

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

如果你想alex不穿跑步stack,你可以要求stack穿上alex你的PATH。为此,请键入:

stack install alex

之后,您无需每次都alex预先添加即可执行:stack exec

alex H.x
于 2018-03-05T05:45:30.783 回答