Re: Overlapping, undecidable, incoherent -- or worse?

I pointed out that the type system _may already_ not terminate
I agree, I have made it not terminate myself with undecidable-instances, I also think prolog style backtacking would be a good idea... I think I said that you either want full backtracking or you want to leave it how it is (with dependancies ignored) - I have yet to be convinced that any partial solution would have the elegance of full backtracking, yet would complicate the implementation and syntax. Keean.

On 21/05/2004, at 8:06 AM, MR K P SCHUPKE wrote:
I pointed out that the type system _may already_ not terminate
I agree, I have made it not terminate myself with undecidable-instances, I also think prolog style backtacking would be a good idea...
For what it's worth, I'll AOL this ("me too"). I know that for the area of Haskell I'm exploring (integrating it with OO languages), putting backtracking into the type system would instantly enable us solve some significant problems. There are other people besides me who would like it too (e.g. Brandon Michael Moore, and of course, Alex), so I think it's a feature which would be welcome. As always though, it's really a question of whether the time and extra complexity in the compiler is worth the trade-off. (My vote would be yes, oddly enough :-). -- % Andre Pang : trust.in.love.to.save

On Thu, May 20, 2004 at 11:06:44PM +0100, MR K P SCHUPKE wrote:
I agree, I have made it not terminate myself with undecidable-instances,
Congratulations. ;-)
I also think prolog style backtacking would be a good idea... I think I said that you either want full backtracking or you want to leave it how it is (with dependancies ignored) - I have yet to be convinced that any partial solution would have the elegance of full backtracking, yet would complicate the implementation and syntax.
Oh, I don't think what I'm suggesting is a 'partial solution', short of full dependency-based backtracking: I think it almost requires the latter. But having done such a thing, I'd imagine one is yet more likely to encounter situations where it's ambiguous which of a number of possible instance derivation routes is possible, which in turn is likely to make specifying which is wanted more important -- the alternative would seem to be verifying that only one possible instance can be arrived at, or examing the possibilities in some arbitrary order (such as that of the program text). (I belatedly found the more full description of 'incoherent instances' in the documentation, having initially only noticed the 'flags' section, and can see that it indeed does nothing like what I was needing...) Cheers, Alex.
participants (3)
-
Alex Ferguson
-
André Pang
-
MR K P SCHUPKE