[nhc-bugs] Error: No match in _dropJust

Malcolm Wallace Malcolm.Wallace@cs.york.ac.uk
Thu, 1 Nov 2001 10:54:58 +0000


| < Actually, I think there is another bug lurking around. I had to
| < hide an identifier to get Grammar.lhs through (the original file
| < called Grammar.lhs-orig is included). Let me know if you need
| < further information.
| 
| 1) Here is the story: we have a module `Haskell' that imports both
| `Atom' and `Prettier' both of which define `string'.
| 
| > module Haskell                (  module Haskell, module Atom  )
| > where
| > import Atom                   hiding (  string  )
| > import qualified Atom
| > import Prettier
| 
| Now, does `Haskell' export the identifier `string'? GHC says no,
| nhc98 says yes. Honestly, I don't know whether GHC or nhc98 is
| wrong as I did not follow all the postings concerning the module system.

I believe GHC is right and nhc98 is wrong here.  I am testing a fix
right now.

| 2) Furthermore, to get Frown compiled I had to change an import
|     import OrdUniqListSet         (  Set, MinView(..)  )
| to
|     import OrdUniqListSet         (  Set, MinView(Empty, Min)  )

I'll look into this.

| 3) Finally, nhc98 does not like spurious commas in export lists.
| GHC is non-Haskell 98 compliant here.
| 
| > module Case                  (  nexts, Branch(..), -- caseAnalysis, 
| >                              ,  reportConflicts, BranchTable, branchLogic  )

Yes, nhc98 is right and GHC is wrong here.  In Haskell'98, an extra
comma is permitted at the end of the list of identifiers, but not in
the middle.

Regards,
    Malcolm