如何在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)]
打印到标准输出中?目标:通过
Utils.hs
将import Utils
导入另一个文件后,我想使用代码Data.Map
来访问Map.<function or data name>
的功能和类型,即通过编写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:3:26: Not in scope: `Map.fromList'
,我会收到错误main.hs
。 最佳答案
您要的是不可能的。 Map.fromList
仅在导入表单时才能成功解析
import [qualified] Map
或者
import [qualified] ... as Map
关于haskell - 如何重新导出合格的导入模块?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22973256/