【发布时间】:2014-04-09 20:26:36
【问题描述】:
如何在 haskell 中重新导出合格的导入模块?有可能吗?
示例:我有两个文件。带有代码的文件Utils.hs:
module Utils (...) where
import qualified Data.Map as Map
还有文件main.hs:
import Utils
main = putStrLn $ show $ Map.fromList [(1,2),(3,4)]
我必须在文件Utils.hs 中放置什么而不是...,以便上述文件编译并将fromList [(1,2),(3,4)] 打印到标准输出?
目标: 在通过import Utils 在另一个文件中导入Utils.hs 后,我想使用代码Map.<function or data name> 访问Data.Map 的功能和类型,即这样写import Utils我不必再写import qualified Data.Map as Map了。这可能吗?
注意:Haskell re-export module in addition to everything defined within module 也有类似的问题。不幸的是,答案在这种情况下没有帮助。
到目前为止我尝试了什么:以下代码
module Utils (module Map) where
import qualified Data.Map as Map
编译,但如果我尝试编译 main.hs,则会收到错误 main.hs:3:26: Not in scope: `Map.fromList'。
【问题讨论】:
-
无法导出合格的模块:stackoverflow.com/questions/3207647/…
-
@user2407038:感谢您的链接。不幸的是,我找不到解决方案(请参阅我的扩展问题)。你能提供一个运行的例子吗?