Simon Peyton-Jones wrote:
| I think I've worked out what's going on now. But I don't like it.
| When I use -fallow-undecidable-instances and -fallow-overlapping-instances
| (as I did) I was assuming (like Keith Wansbrough did) that
| GHC would do a Prolog-style backtracking search when it
| I think I've worked out what's going on now. But I don't like it.
| When I use -fallow-undecidable-instances and -fallow-overlapping-instances
| (as I did) I was assuming (like Keith Wansbrough did) that
| GHC would do a Prolog-style backtracking search when it was time to
resolve
| an
Thu, 26 Oct 2000 01:29:38 -0700, Simon Peyton-Jones [EMAIL PROTECTED] pisze:
a') when trying to solve a constraint, search for all solutions,
and check that in the end there is only one.
b') never comlain of overlap when declaring instance declarations;
instead only complain when solving
Marcin 'Qrczak' Kowalczyk wrote:
[snip]
I am worried if the following scenario is possible: There are
two modules. Everything is OK. Now one of them adds an innocent
instance. It is perfectly correct in its context, but it happens that
it triggers an ambiguity in the second module. Still
When I compile the attached file on Linux with 4.08.1:
/home/ger/ghc-4.08.1-binary/bin/ghc -c Instances.hs -fglasgow-exts
-fallow-overlapping-instances -fallow-undecidable-instances
I get the message:
Instances.hs:1:
Duplicate or overlapping instance declarations
for `HasConfig
Instances.hs:1:
Duplicate or overlapping instance declarations
for `HasConfig (arcTypeConfig value) (arcTypeParms value)'
defined at Instances.hs:19 and defined at Instances.hs:11
This is not fair, because while the instances for HasConfig have the
potential to
Keith Wansbrough wrote:
Instances.hs:1:
Duplicate or overlapping instance declarations
for `HasConfig (arcTypeConfig value) (arcTypeParms value)'
defined at Instances.hs:19 and defined at Instances.hs:11
This is not fair, because while the instances for
Keith Wansbrough wrote:
You can now see that the two instance declarations overlap: their
right hand sides are in fact *identical*. Remember that the
typechecker simply matches on the right-hand sides ("heads") of the
instance declarations.
No they do not overlap, unless there is