我在两个想要使用相同中缀运算符 ( <*>) 的不同 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?