To my report on  Hugs-98-September-1999

>> cannot load the package  DoCon-2   <http:/haskell.org/docon>,
>> [..]
>> Download and unzip DoCon-2. 
>> Prepare  Hugs-98  and the  hugso  starter as it is said in  
>>   install.txt
>> of DoCon.
>> 
>> hugso
>>   ...
>> ..> :l DExport
>> 
>> [..] 
>>  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.



Mark P Jones <[EMAIL PROTECTED]>  responses

> [..]
> 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.


Yes,          instance (EuclideanRing a)=> <C>(ResidueE a)        ...
overlap with  instance                     <C>(ResidueE Integer)  ...
              instance (Field k)        => <C>(ResidueE (UPol k)) ...

for several classes <C>, and these instances may occure in 2-3 
different modules.
But this all seems to conform with  Haskell-98 -o  extension and is 
compiled by  ghc-4.04,  Hugs-98-May-99.
Further, 
ghc-4.04        runs DoCon-2 correct,
Hugs-98-May-99  
runs correct the most part of the automatic test and gets into a bug
close to the end of the test, again, when deals with the overlaps
for (Residue ..).
This was reduced to certain bug example, a program of 40 lines.

Now  Hugs-98-September-99  cannot load DoCon-2.

I do not know when i shall present the reduced example.
On the other hand, DoCon-2  
                           - at  <http:/haskell.org/docon>  

- is an official release of certain Haskell application.
It provides the source program and the  install.txt  instruction.

And it has the automatic test: after loading, run        test "log" 
- it evaluates many things and reports  True  each time.
The first  False  printed means a possible bug in the Haskell
implementation.

To my mind, it is a good idea for the Haskell developers to compile 
and run DoCon before releasing new implementation.


------------------
Sergey Mechveliani
[EMAIL PROTECTED]

Reply via email to