我想知道您如何ModuleName
使用 API 确定您刚刚在 ghc 中加载的文件。
如果您查看 API 的文档,他们总是假设您在加载文件之前知道模块名称。
我尝试对依赖图进行顶部排序并在那里选择最后一个模块,但这似乎并不总是返回加载的文件。
我之前能够做到的方法是修改 GHC 源代码以将此信息存储在HscEnv
.
如果调用load
返回它会很好,但肯定有办法做到这一点,因为 GHCi 在加载文件时知道这一点。
该haskell-src-exts
包具有类型为 的parseFile函数parseFile :: FilePath -> IO (ParseResult Module)
。该Module
类型有一个模块名称字段。