我对 Haskell 完全陌生。为了掌握基础知识,我开始学习“为伟大的利益而学习 Haskell”。我陷入了从文件加载函数的简单问题。
该文件名为 baby.hs
并包含该函数
doubleMe x = x + x
没有别的。我已将其保存在 /Users/me
中。
在 GHCi 中输入 :load Baby
时,出现以下错误:
target `baby' is not a module name or a source file.
我正在 Mac 上工作,并使用 TextEdit 设置创建了我的 baby.hs
文件以生成纯文本/UTF-8 文件。我认为我的主目录是 /Users/me
虽然我不确定如何从 GHCi 中检查它,但它来 self 在运行 GHCi 之前从 bash 检查时的情况。
知道我做错了什么吗?
最佳答案
正如 @clintm 所建议的,首先修复你的 doubleMe 函数。你所拥有的将会给出错误——但不会是你报告的错误。
让 ghci 找到您的文件的最简单方法是确保从保存文件的同一目录启动 ghci。打开终端窗口,然后输入
cd /Users/me
ls
ls
列出当前目录的内容;你应该看到你的文件。如果你这样做,那就太好了!在 bash 提示符处输入 ghci,然后 :load Baby
应该可以工作。如果没有,则说明您尚未将文件保存在您认为已保存的位置。返回到 TextEdit 或使用 Spotlight 查看您实际放置的位置。
关于macos - 从 GHCi 中的文件加载函数时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7733836/