У меня есть конфликт имен между двумя разными модулями 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
?