Haskell 中的问题:
module Foo.A where foo = 42
和
module Foo.B where foo = 12
你想写一个超级模块
module Foo ( module Foo.A , module Foo.B ) where import Foo.A import Foo.B
重新导出这些模块,您会遇到名称冲突。
请注意,每个模块(foo1、foo2 等)中可能有很多功能,我想从两个模块中使用它们。foo
data
毕竟,每个模块中也可以存在具有相同成员名称的 s。所以隐藏不是解决办法。我不认为 Lens 可以解决它。
现在,弗雷格解决了Haskell的“再出口合格”问题吗?如果我没记错的话似乎是这样,但是我现在找不到证据,有人可以详细说明吗?