[Prev][Next][Index][Thread]

Least helpful ghc error message, ever?




Hi all.  Just got the error messages, below, from ghc-2.10, which I found
pretty confusing to locate and fix despite knowing basically what the
problem was (to wit, non-automatically derived instances for certain
types).  What's so confusing is that in all the acreage below, the actual
error isn't really ever directly referred to.

To clarify, the problem was with the declaration:

> type SentRHS = (SentFO, Int, String, [DomNm], [Ident], [SentFO])

for which ghc couldn't derive various classes, due to one component
of the tuple having just been complexified in a redefination elsewhere.
In order to get round this, I had to change this to:

> data SentRHS = SentRHS SentFO Int String [DomNm] [Ident] [SentFO]
>              deriving (Eq, Show)

(newtype didn't help)  Pretty annoying, as I then had to go change
every occurrence of pattern-matching on one of these.

Cheers,
Alex.
--

Spam follows:-

ghc-2.10 -c RTE.hs -H30m  -K2M         -recomp -fglasgow-exts -cpp -syslib ghc 
-syslib hbc -Rgc-stats -dshow-passes -fmax-simplifier-iterations4 
-funfolding-use-threshold-0 
*** Reader:
*** Renamer:
*** TypeCheck:
 
RTE.hs:1: No instance for: `Eq SentRHS'
    When deriving classes for `Sentrefs'
 
RTE.hs:1: No instance for: `Show SentRHS'
    When deriving classes for `Sentrefs'
 
RTE.hs:1: No instance for: `Eq SentRHS'
    When deriving classes for `Sentrefs'
 
RTE.hs:1: No instance for: `Show SentRHS'
    When deriving classes for `Sentrefs'
 
RTE.hs:189: No instance for: `Eq NumVal'
    arising from an instance declaration at RTE.hs:189
    When checking methods of an instance declaration
 
RTE.hs:189: No instance for: `Eval NumVal'
    arising from an instance declaration at RTE.hs:189
    When checking methods of an instance declaration
 
RTE.hs:189: No instance for: `Eq NumVal'
    arising from an instance declaration at RTE.hs:189
    When checking superclass constraints of an instance declaration
 
RTE.hs:189: No instance for: `Eval NumVal'
    arising from an instance declaration at RTE.hs:189
    When checking superclass constraints of an instance declaration
 
RTE.hs:177: No instance for: `Eq NumVal'
    arising from an instance declaration at RTE.hs:177
    When checking methods of an instance declaration
 
RTE.hs:177: No instance for: `Eq NumVal'
    arising from an instance declaration at RTE.hs:177
    When checking superclass constraints of an instance declaration
 
RTE.hs:153: No instance for: `Ord Value'
    arising from an instance declaration at RTE.hs:153
    When checking methods of an instance declaration
 
RTE.hs:153: No instance for: `Ord Value'
    arising from an instance declaration at RTE.hs:153
    When checking superclass constraints of an instance declaration
 
RTE.hs:143: No instance for: `Eq Value'
    arising from an instance declaration at RTE.hs:143
    When checking methods of an instance declaration
 
RTE.hs:143: No instance for: `Eval Value'
    arising from an instance declaration at RTE.hs:143
    When checking methods of an instance declaration
 
RTE.hs:143: No instance for: `Eq Value'
    arising from an instance declaration at RTE.hs:143
    When checking superclass constraints of an instance declaration
 
RTE.hs:143: No instance for: `Eval Value'
    arising from an instance declaration at RTE.hs:143
    When checking superclass constraints of an instance declaration
 
RTE.hs:105: No instance for: `Eq DomVals'
    arising from an instance declaration at RTE.hs:105
    When checking methods of an instance declaration
 
RTE.hs:105: No instance for: `Eq DomVals'
    arising from an instance declaration at RTE.hs:105
    When checking superclass constraints of an instance declaration
 
RTE.hs:92: No instance for: `Eq DomVals'
    arising from an instance declaration at RTE.hs:92
    When checking methods of an instance declaration
 
RTE.hs:92: No instance for: `Eq DomVals'
    arising from an instance declaration at RTE.hs:92
    When checking superclass constraints of an instance declaration
 
RTE.hs:88: No instance for: `Eq DomVals'
    arising from an instance declaration at RTE.hs:88
    When checking methods of an instance declaration
 
RTE.hs:88: No instance for: `Eval DomVals'
    arising from an instance declaration at RTE.hs:88
    When checking methods of an instance declaration
 
RTE.hs:88: No instance for: `Eq DomVals'
    arising from an instance declaration at RTE.hs:88
    When checking superclass constraints of an instance declaration
 
RTE.hs:88: No instance for: `Eval DomVals'
    arising from an instance declaration at RTE.hs:88
    When checking superclass constraints of an instance declaration
 
RTE.hs:499: No instance for: `Eq Value'
    arising from use of `==' at RTE.hs:499
 
RTE.hs:500: No instance for: `Ord Value'
    arising from use of `>' at RTE.hs:500
 
RTE.hs:376: No instance for: `Eq DomVals'
    arising from use of `inters' at RTE.hs:376
 
RTE.hs:78: No instance for: `Show Sentrefs'
    arising from use of `showsPrec' at RTE.hs:78
 
RTE.hs:78: No instance for: `Show Reason'
    arising from use of `showsPrec' at RTE.hs:78
 
RTE.hs:499: No instance for: `Eq Value'
    arising from use of `==' at RTE.hs:499
 
RTE.hs:500: No instance for: `Ord Value'
    arising from use of `>' at RTE.hs:500
 
RTE.hs:376: No instance for: `Eq DomVals'
    arising from use of `inters' at RTE.hs:376
 
RTE.hs:78: No instance for: `Show Sentrefs'
    arising from use of `showsPrec' at RTE.hs:78
 
RTE.hs:78: No instance for: `Show Reason'
    arising from use of `showsPrec' at RTE.hs:78



Post to "glasgow-haskell-bugs": glasgow-haskell-bugs@dcs.gla.ac.uk