[Haskell] how can I refer to a symbol in a module that is imported
'qualified'?
Norman Ramsey
nr at cs.tufts.edu
Sat Apr 11 22:19:05 EDT 2009
I need to resolve a name clash between two different Haskell modules
that want to use the same infix operator (<*>). The Haskell 98
report says that
modid.varsym
is permitted, but I can't get it to work.
In their entirety here are Test.hs:
module Test
where
import qualified Test2 as T
three = T.<*>
and Test2.hs:
module Test2
where
(<*>) = 3
But trying to compile results in an error message:
Test.hs:6:12: parse error on input `T.<*>'
I tried T.(<*>) but that doesn't work either (as indeed the Haskell 98
report says it should not).
How can I refer to a symbolic name defined in a module imported by
`import qualified`?
Norman
More information about the Haskell
mailing list