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]