Ho uno scontro di nomi tra due diversi moduli Haskell che vogliono utilizzare lo stesso operatore di infisso (<*>
). Il rapporto Haskell 98 dice cheCome scrivere il nome qualificato di un simbolo in Haskell?
modid.varsym
è consentito, ma non riesco a farlo funzionare. Nella loro interezza qui sono Test.hs
:
module Test
where
import qualified Test2 as T
three = T.<*>
e Test2.hs
:
module Test2
where
(<*>) = 3
Ma cercando di compilare i risultati in un messaggio di errore:
Test.hs:6:12: parse error on input `T.<*>'
ho provato T.(<*>)
ma che non funziona o.
Come posso fare riferimento a un nome simbolico definito in un modulo importato da import qualified
?
Strano davvero, ma stavo cercando di fare l'esempio più semplice possibile. –