Hugs version: Hugs 1.4, The Nottingham and Yale Haskell User's System. Version 970719.
Configuration options: --with-x --disable-large-banner --enable-TREX
Operating System: HP-UX varsovie A.09.05 A 9000/735 2001675185 two-user license
Compiler: gcc version 2.6.3
Expected Behaviour:
Haskell Report 1.4, section 5.6 on fixities:
"If op is imported as a qualified name from Bar, no conflict may
occur: the fixity of a qualified name does not affect unqualified uses
of the same name."
Observed Behaviour:
In module A, operator $$$'s fixity is declared. If module B redefines
$$$ and its fixity, it cannot import module A, even indirectly, be it
qualified or even _hiding_ operator A.$$$.
Transcript1:
> module Def where
> infix 2 $$$
> x $$$ y = x - y
> module Redef where
> import qualified Def
> infix 8 $$$
> x $$$ y = x:y
->ERROR "Redef.hs" (line 3): Attempt to redefine syntax of operator "$$$"
Transcript2:
Other:
> module RedefHiding where
> import Def hiding (($$$))
> infix 8 $$$
> x $$$ y = x:y
->ERROR "RedefHiding.hs" (line 3): Attempt to redefine syntax of operator "$$$"
Transcript3:
> module DefAlt where
> infix 8 $$$
> x $$$ y = x:y
> module DefBoth where
> import qualified Def hiding (($$$))
> import qualified DefAlt hiding (($$$))
->ERROR "DefAlt.hs" (line 2): Attempt to redefine syntax of operator "$$$"
===============================================================================
Fabrice Lavier <[EMAIL PROTECTED]> (514) 345 1644, ext. 317
===============================================================================