Tengo un choque de nombres entre dos módulos Haskell diferentes que quieren usar el mismo operador infijo (<*>
). El informe Haskell 98 dice que¿Cómo escribo el nombre calificado de un símbolo en Haskell?
modid.varsym
está permitido, pero no puedo hacerlo funcionar. En su totalidad aquí son Test.hs
:
module Test
where
import qualified Test2 as T
three = T.<*>
y Test2.hs
:
module Test2
where
(<*>) = 3
Pero tratar de compilar los resultados en un mensaje de error:
Test.hs:6:12: parse error on input `T.<*>'
Probé T.(<*>)
pero eso no funciona ya sea.
¿Cómo puedo hacer referencia a un nombre simbólico definido en un módulo importado por import qualified
?
extraño en verdad, pero yo estaba tratando de hacer el ejemplo más simple posible. –