无法编译Haskell

时间:2015-09-17 09:52:34

标签: windows-7 command-prompt

我正打算简单地打印出“Hello,World!” Haskell中的消息。

这就是我正在做的事情:

在文本编辑器上,我写道:

main = putStrLn "Hello, World!"

使用文件名helloworld.hs

保存

在命令提示符(使用Windows 10)中,我写了以下内容:

$ ghc --make helloworld

但是我收到以下错误消息:

<interactive>:2:1:
     parse error on input `$'
     Perhaps you inteded to use TemplateHaskell

我应该在尝试编译之前将helloworld文件导入ghci吗?我尝试过但仍然遇到了同样的错误。 还尝试在编译行中包含文件扩展名,也没有运气。

###编辑### 非常感谢Carsten,Fraser,Sarah和Jakub Daniel。 问题在于$符号。省略它解决了错误,现在我可以编译它。

如果有人遇到与我相同的问题,则省略$将解决编译正在运行程序的问题。

所以而不是

  

$ ghc --make filename

  

$ ./filename

ghc --make filename

filename

是的,在编译之后,你所要做的就是写下你想要运行的文件的名称。

2 个答案:

答案 0 :(得分:5)

不要将$ ghc --make helloworld放入GHCi,将其置于Windows命令提示符中而不首先启动GHCi(不带前导$ - 这通常用于表示后面的内容是进入提示)。如果要将模块加载到GHCi中,请使用:l helloworld

答案 1 :(得分:1)

您不应将符号$放在命令前面,这通常表示以下字符串是shell命令或在Windows上调用它们。因此,只需在保存文件的目录中的命令提示符下键入ghc ...即可。