macos - 从 GHCi 中的文件加载函数时出错

标签 macos haskell load ghci

我对 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/

相关文章:

swift - 将可拖动的 NSView 与 SwiftUI 组件相结合的问题

haskell - 可以在不使用可变变量的情况下对其进行编码吗?

list - Haskell:列表理解

mysql - 无法使用 Load Data infile local into mysql 加载大文件

java - 某些 FontAwesome 字形不会在 Java Swing JToolBar 按钮中呈现

xcode - iOS Xcode 12.0 Swift 5 'AppDelegate' 用@main 注释并且必须提供类型为 () -> Void 或 () throws -> Void 的 main 静态函数

haskell - 类型类 101 : GHC too "eager" to derive instance?

delphi - 将Tframe从bpl加载到应用程序

file - Java JAR 找不到文件

macos - mac 命令行中 RS 的 awk 问题