我试图使用haskell-src-exts包来解析Haskell模块。目前,我正在尝试解析acme-io软件包的模块,但无论我尝试使用哪种解析模式,我都会收到此错误:
*** Exception: fromParseResult: Parse failed at [System/IO/Unsafe/Really/IMeanIt] (1:57): TemplateHaskell is not enabled
上面提到的模块没有引用TemplateHaskell,也没有引用LANGUAGE
编译指示,源文件中也没有$
。
我想知道我的解析模式是否与它有关 - 这就是:
defaultParseMode { parseFilename = toFilePath m
, baseLanguage = Haskell2010
, extensions = []
, ignoreLanguagePragmas = True
, ignoreLinePragmas = True
, fixities = Nothing
}
我还尝试将extensions
字段替换为knownExtensions
@SuppressWarnings("checkstyle:javadocmethod")
,但没有任何运气。
答案 0 :(得分:1)
这是this answer的重复问题 - 使用parseFile
函数修复了问题。但是,读者应该注意haskell-src-exts
使用与GHC不同的解析 - 在此之后我遇到了另一个类似的问题,因为haskell-src-exts can't handle multi-param contexts without -XMultiParamTypeClasses, yet GHC can,如果你正在抓取Hackage,那就解析一下解析器。 Hint可能是更好的选择,但不能肯定地说。