Changes to the type checker with respect to UndecidableInstances

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Changes to the type checker with respect to UndecidableInstances

Mitsutoshi Aoe
Hi,

I found a difference between GHC 7.6.3 and 7.8.3 with respect to UndecidableInstances.


7.6.3 requires UndecidableInstances to compile this snippet whereas 7.8.3 doesn't. What has changed in the type checker?

Mitsutoshi


_______________________________________________
Glasgow-haskell-users mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Reply | Threaded
Open this post in threaded view
|

RE: Changes to the type checker with respect to UndecidableInstances

Simon Peyton Jones

UndecidableInstances is supposed to be needed if GHC can’t prove that the instance declarations terminate.  But here it can be sure they terminate.  GHC 7.6.3 didn’t realise this.

 

I’ll modify the user manual to be clearer on this point.

 

Simon

 

From: Glasgow-haskell-users [mailto:[hidden email]] On Behalf Of Mitsutoshi Aoe
Sent: 28 December 2014 10:47
To: [hidden email]
Subject: Changes to the type checker with respect to UndecidableInstances

 

Hi,

 

I found a difference between GHC 7.6.3 and 7.8.3 with respect to UndecidableInstances.

 

 

7.6.3 requires UndecidableInstances to compile this snippet whereas 7.8.3 doesn't. What has changed in the type checker?

 

Mitsutoshi

 


_______________________________________________
Glasgow-haskell-users mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Reply | Threaded
Open this post in threaded view
|

Re: Changes to the type checker with respect to UndecidableInstances

Mitsutoshi Aoe
Hi Simon,

Thanks. So there was a bug in the type checker. Do you have a link to
the ticket or commits which fixed the issue?

Mitsutoshi

2014-12-30 19:56 GMT+09:00 Simon Peyton Jones <[hidden email]>:

> UndecidableInstances is supposed to be needed if GHC can’t prove that the
> instance declarations terminate.  But here it can be sure they terminate.
> GHC 7.6.3 didn’t realise this.
>
>
>
> I’ll modify the user manual to be clearer on this point.
>
>
>
> Simon
>
>
>
> From: Glasgow-haskell-users
> [mailto:[hidden email]] On Behalf Of Mitsutoshi
> Aoe
> Sent: 28 December 2014 10:47
> To: [hidden email]
> Subject: Changes to the type checker with respect to UndecidableInstances
>
>
>
> Hi,
>
>
>
> I found a difference between GHC 7.6.3 and 7.8.3 with respect to
> UndecidableInstances.
>
>
>
> https://gist.github.com/maoe/57a4346eb36aee159916
>
>
>
> 7.6.3 requires UndecidableInstances to compile this snippet whereas 7.8.3
> doesn't. What has changed in the type checker?
>
>
>
> Mitsutoshi
>
>
_______________________________________________
Glasgow-haskell-users mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users