Hi,

the following module

  module M where 

  import qualified Prelude (Eq(..))

  data M = M
 
  instance Prelude.Eq M where
    _ Prelude.== _ = Prelude.False

causes Hugs98 (March 1999) to return

  ERROR "m.hs" (line 8): Syntax error in declaration (unexpected symbol
"Prelude.==")

Looks as if qualified method names in inst decls aren't accepted -
Haskell98 clarified this issue, and it is now legal (Section 4.3.2).

Somewhat relatedly, the above import declaration shouldn't be
required with Haskell98, "import F(f)" brings both "f" and "F.f" into
scope (Section 5.3.1).

--sigbjorn

Reply via email to