Windows 7 无法编译Haskell

Windows 7 无法编译Haskell,windows-7,command-prompt,Windows 7,Command Prompt,我只是想用Haskell打印一条“你好,世界!”的信息 以下是我正在做的: 在一个文本编辑器上,我写道: main = putStrLn "Hello, World!" 使用文件名helloworld.hs保存 在命令提示符(使用Windows 10)中,我编写了以下内容: $ ghc --make helloworld 但我收到以下错误消息: <interactive>:2:1: parse error on input `$' Perhaps you in

我只是想用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


是的,编译后,您所要做的就是写入要运行的文件名。

不要将
$ghc--将helloworld
设置为GHCi,在不启动GHCi的情况下将其放入Windows命令提示符(不带前导的
$
–这通常用于表示要在提示中输入以下内容)。如果要将模块加载到GHCi中,请使用
:l helloworld

不要将符号
$
放在命令前面,这通常表示以下字符串是shell命令或在windows上调用的任何字符串。因此,只需在您保留的目录中的命令提示符中键入
ghc…
e文件。

我很难看到
$
是从哪里来的(而且提示中的
$
很奇怪…windows不应该显示它)-你确定你的
helloworld.hs
看起来像这样吗?是的。所以看来我不得不使用$符号。但是,我只能编译它一次。我关闭了提示符,再试一次,这次我没有收到任何消息。大概,除非Windows做了不同的事情,否则他们根本不想输入
$
。谢谢o我省略了$符号,它似乎可以工作。“[1/1]编译Main(helloworld.hs,helloworld.o)链接helloworld…”这就是我所期待的消息。但是,我关闭了命令提示符。如果我再次尝试,我将不再收到该消息,但也不会收到错误消息。它是否只编译一次?是的,除非您更改源文件,然后重新编译它。因此,我省略了$符号,它似乎可以工作。“[1/1]编译Main(helloworld.hs,helloworld.o)链接helloworld…”这是我期待看到的消息。但是,我关闭了命令提示符。如果我再次尝试,我将不再收到该消息,但也不会收到错误消息。它是否假定只编译一次?编译器会比较生成的二进制文件和源文件的修改时间,如果它没有更改,则不会编译错误消息再一次,杰库布。
ghc --make filename
filename