在Windows中编译Haskell程序:是否可以在不下载诸如Cygwin之类的东西的情况下进行?

2023-12-19

我正在阅读“Learn a Haskell for Great Good”,并且已经读到了有关 I/O 操作的章节。我使用的是 Windows,并且已经下载了 GHCi 和 WinGHCi。

我正在尝试编译一个简单的程序,并在 emacs 上保存了一个文件helloworld.hs with main = putStrLn "hello, world" in it.

书上说

打开终端,导航到所在目录helloworld.hs找到,然后输入以下内容:

$ ghc --make helloworld

但是,如果我输入$ ghc --make helloworld在 GHCi 和 WinGHCi 上我收到如下错误,可能是因为我需要输入$ ghc --make helloworld别处:

<interactive>:7:1: error:
    parse error on input ‘$’
    Perhaps you intended to use TemplateHaskell

事实上,在这本书的在线版本中(此处:http://learnyouahaskell.com/input-and-output http://learnyouahaskell.com/input-and-output),作者评论说:

为了本章的目的,我假设您使用 unix-y 环境来学习 Haskell。如果您使用的是 Windows,我建议您下载 Cygwin,这是一个适用于 Windows 的类似 Linux 的环境,又名:正是您所需要的。

问题1:我是否有必要下载Cygwin或其他类似的东西,以便能够通过输入来编译程序$ ghc --make helloworld?

我问这个,因为如果有其他编译程序的方法,那么知道它会非常有用,因为我使用的是大学计算机,未经许可无法下载 Cygwin 这样的东西。 (即使获得许可,也可能无法实现,具体取决于 Cygwin 的要求)

问题2: 由于只有我大学的技术人员去复活节,并且只有他们可以在这台计算机上下载东西,我该如何继续 I/O 操作章节?是否可以直接继续,但忽略涉及编译程序的部分?


在许多 Unix 和 Linux shell 中(至少在我最熟悉的 Bash 中),默认提示符是$。这就是 shell 显示的内容。

在 Windows 上,当您打开命令提示符时,您通常会看到类似以下内容:

C:\Users\mark>

(这是我的提示。)

虽然说明通常包括$提示以表明该代码是您需要在命令提示符处输入的内容,您不需要键入$。只需输入ghc --make helloworld并击中Enter.

另外,您不应该从 GHCi 中执行此操作,而是从命令行执行此操作。ghc是一个命令行可执行文件(.exe),就像例如git。它必须在你的path但是,否则,每次要运行可执行文件时,您都必须键入可执行文件的完整路径。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在Windows中编译Haskell程序:是否可以在不下载诸如Cygwin之类的东西的情况下进行? 的相关文章

随机推荐