2014-11-04 33 views
6

考虑到原因here总是明确导入模块(除了Prelude),我试图遵守这个规范。但是,这有时会很麻烦。是否有任何工具可以分析工作代码并提供显式导入的完整列表?有帮助显式导入Haskell模块的工具吗?

+0

如果用'GHC -v'编译,你可以看到所有以'链接信息开始部分进口: (([“-lHScryptohash-0.11.6”,....'。这虽然有一些问题....首先,你需要拉出信息并解析它,其次,它似乎拥有比你需要,因为这些问题,我不愿将这个评论推广到一个答案,但也许这可以帮助你。 – jamshidh 2014-11-04 20:32:51

回答

6

ghc-ddump-minimal-imports标志。

结果放在文件(module-name).imports中。

-fno-code GHC的选择也是有帮助这里(以避免代码生成阶段)。

+0

这表明了导入本身,而不是.cabal文件所需的包.... – jamshidh 2014-11-04 20:29:35

+0

True ,但是我不认为OP是在问这个问题,为了获取包名和版本,似乎'cabal init'做了一个小工具你的工作很好。 – ErikR 2014-11-04 21:31:02

+0

第二遍看,我想你可能是对的......我可能误读了。 – jamshidh 2014-11-04 21:47:21