我在两个想要使用相同中缀运算符 ( <*>
) 的不同 Haskell 模块之间发生了名称冲突。Haskell 98 报告说
modid.varsym
是允许的,但我无法让它工作。这里的全部内容是Test.hs
:
module Test
where
import qualified Test2 as T
three = T.<*>
和Test2.hs
:
module Test2
where
(<*>) = 3
但是尝试编译会导致错误消息:
Test.hs:6:12: parse error on input `T.<*>'
我试过T.(<*>)
了,但这也不起作用。
如何引用在导入的模块中定义的符号名称import qualified
?