Hi Sergey,

| First, it reports (unlike Hugs-98-May) the error in  auxil/Categs_.hs
| with  deriving(Show)  in  
| 
|   data OSet a =
|        OSet {osetSample  :: !a,                 -- sample for Base set
|              membership  :: !(Char -> a -> Bool),
|                             --------------------
|              ...
|             }
|             deriving(Show)

This change was mentioned in the announcement: The May version of Hugs 98
included an instance of Show on functions, but the Haskell 98 prelude does
not.  For better compatibility with Haskell 98, we removed the instance
declaration in this new distribution.  Bottom line: Haskell 98 doesn't allow
derived instances of datatypes whose definition use function spaces, and now
Hugs 98 follows that line too.

| Now,
|         ..> :l DExport
| reports
|   ERROR "/usr/ghc/d/docon/source/residue/ResEuc_.hs" (line 122): 
|                                         Cannot build superclass instance
|   *** Instance            : AddSemigroup (ResidueE a)
|   *** Context supplied    : EuclideanRing a
|   *** Required superclass : Set (ResidueE a)
| 
| This is strange. Because  ResEuc_.hs  contains the declaration
|   instance (EuclideanRing a) => Set (ResidueE a) ...
| at the line  103
| and
|   instance (EuclideanRing a) => AddSemigroup (ResidueE a)  ...
| at the line  122.
| 
| Is it a Hugs bug?

I don't know.  Is it possible for you to produce a simplified example that
illustrates the problem?  I'm guessing that you might be using overlapping
instances here, so the instance declarations above might not show the whole
picture.

All the best,
Mark

Reply via email to