如何在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
导入另一个文件后,我希望能够访问代码为{{1的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
。
答案 0 :(得分:9)
你要求的是不可能的。只有在导入表单
时才会成功解析Map.fromList
import [qualified] Map
或
import [qualified] ... as Map