Overlapping, undecidable, incoherent -- or worse?

MR K P SCHUPKE k.schupke at imperial.ac.uk
Thu May 20 18:58:53 EDT 2004

I don't think you get it... naming does not help, the problem is the
compiler cannot distinguish between the instances.

The alternative to the current situation is to take into account the
dependancies of instances when selecting. The problem here is that
the compiler may select an instance, evaluate its dependencies, only
to discover somewhere further on that the dependencies cannot be met.
At this point it has to backtrack (reverse its previous decisions) and
try another instance. This effectively means implementing a Prolog
style solver in the compiler - which leads to the further problems of
the compiler possible not terminating (ie taking forever to not 
compile something)...


More information about the Glasgow-haskell-users mailing list