gpt4 book ai didi

haskell - 如何在受限的合格导入上重用前缀

转载 作者:行者123 更新时间:2023-12-02 12:54:03 26 4
gpt4 key购买 nike

我经常发现我正在使用带有一组相关模块的库,例如:

A.B
A.B.C
A.B.D

我知道我能做到

import A.B (f1, f3)
import A.B.C (f7)

但有时这些函数具有通用名称,我不想用它们污染主命名空间。

所以我可以这样做:

import qualified A.B (f1, f3) 
import qualified A.B.C (f7)

但是我必须调用像 A.B.C.f7 这样的函数,它相当长。

我可以做:

import qualified A.B   as B 
import qualified A.B.C as C

这有一点帮助,但我仍然必须记住并指定我的函数是来自 B 还是 C。

我发现你可以这样做:

import qualified A.B   as B 
import qualified A.B.C as B

除非 A.BA.B.C 中都有一个同名的函数,并且您尝试使用它,您将收到编译错误。

所以我基本上想做的是:

import qualified A.B (f1, f3) as B 
import qualified A.B.C (f7) as B

但这不会编译。这可能吗(也许需要扩展),如果可以的话如何实现?

最佳答案

你就快到了。尝试一下

import qualified A.B   as B (f1, f3) 
import qualified A.B.C as B (f7)

这无需 GHC 中的任何扩展即可实现。

关于haskell - 如何在受限的合格导入上重用前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27602538/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com