[Haskell-cafe] Why does this result in a runtime loop instead of a type error or typechecker loop?

Emil Axelsson 78emil at gmail.com
Thu Jul 26 05:39:00 UTC 2018

Den 2018-07-26 kl. 01:02, skrev Anthony Clayden:
> On Tue, Jul 24, 2018 at 5:52 AM,Ryan Reich wrote:
>  > This seems like the canonical illustration of the dangers of 
> UndecidableInstances.
> No I don't buy that explanation. The worst UndecidableInstances can do 
> is send the type checker into a loop.

I used to have a counter-example to that claim:


That example was causing looping dictionaries at run time on GHC 6.10. 
But now, on GHC 8.2, the program terminates. But one wonders if there 
are other ways to create looping dictionaries?

/ Emil

More information about the Haskell-Cafe mailing list