| > The solution is to add (EuclideanRing k) to the type sig of cubicExt.
| > Then it compiles all the way up to the top.
|
| But the DoCon declares
| class (EuclideanRing a, FactorizationRing a) => Field a
|
| (EuclideanRing is a superclass for Field),
| and the test declares
| cubicExt :: (Field k, FactorizationRing (UPol k)) =>
| k -> k -> Domains1 k -> (Domains1 (E k), [E k], k -> E k)
|
| So, why the compiler does not `extract' EuclideanRing k from Field k
I made a mistake. I should have said "add (EuclideanRing (Pol k)) to the type
sig of cubicExt".
GHC can't extract
EuclideanRing (Pol k) from Field k
except by using one of the two (overlapping) instances.
I don't know why 7.4 accepts it, but I'm not inclined to investigate... looks
like a bug in 7.4.
Simon
_______________________________________________
Glasgow-haskell-users mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users