命令“ ghc”返回变量不在范围内

时间:2019-07-11 12:01:17

标签: haskell ghc

我从Haskell开始,尝试在Haskell中编译.ghci文件时遇到此奇怪的错误消息。我有这个非常简单的代码,例如:

main = do
    putStrLn "Greetings! What is your name?"
    inpStr <- getLine
    putStrLn $ "Welcome to Haskell, " ++ inpStr ++ "!"

我将代码保存在名为basicio.hs的文件中,并尝试运行 ghc basicio.hs 而不是字符串,我得到以下消息

<interactive>:2:1: error:
    Variable not in scope: runghc :: t0 -> b0 -> c

<interactive>:2:8: error: Variable not in scope: basicio

我不确定出什么问题,命令“:load”可以正常工作并找到我的文件。

1 个答案:

答案 0 :(得分:5)

此错误消息似乎是通过在GHCi提示符下键入“ runghc basicio”生成的:

GHCi, version 8.6.5: http://www.haskell.org/ghc/  :? for help
Loaded GHCi configuration from ...
> runghc basicio

<interactive>:3:1: error: Variable not in scope: runghc :: t0 -> t

<interactive>:3:8: error: Variable not in scope: basicio
>

但是,runghc命令和编译器命令ghc都应直接从命令行运行。