Haskell GHCI,似乎无法进入Main模块的交互式执行

Haskell GHCI, can't seem to enter interactive execution of Main module

我需要调试一些 haskell 代码并在 运行 时找出问题发生的位置。当我 运行 我的程序是这样说的

main: Prelude.(!!): index too large

这让我相信有一个地方我正在向一个我真的不应该去的函数发送列表,而且我不知道在哪里。这是一个 600 多行的语义分析程序。麻烦的是,我这辈子都想不通这在哪里!!错误是。调试文档真的很混乱,我无法让 GHCI 合作,所以我也许可以解决这个问题。每当我 运行 ghci main.hs 时,就会发生这种情况:

GHCi, version 7.6.3: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Ok, modules loaded: Main.
Prelude Main>

我似乎无法让它转向

*Main>

这样我就可以实际设置断点和所有有趣的东西。我如何让它工作?

前一行表示您正在以编译模式加载文件。您可以通过确保周围没有文件的编译版本来解决此问题;或者你可以告诉 ghci 在加载文件时通过在前面加上 * 使用解释模式:

Prelude Main> :l *Main
*Main>

(或运行 ghci '*Main.hs' -- 根据您shell的转义需求酌情调整。)