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