[GHC] #10227: Type checker cannot deduce type

GHC ghc-devs at haskell.org
Mon May 4 15:37:38 UTC 2015


#10227: Type checker cannot deduce type
-------------------------------------+-------------------------------------
        Reporter:  augustss          |                   Owner:
            Type:  bug               |                  Status:  new
        Priority:  normal            |               Milestone:
       Component:  Compiler          |                 Version:  7.10.1
      Resolution:                    |                Keywords:
Operating System:  Unknown/Multiple  |            Architecture:
 Type of failure:  None/Unknown      |  Unknown/Multiple
      Blocked By:                    |               Test Case:
 Related Tickets:                    |                Blocking:
                                     |  Differential Revisions:
-------------------------------------+-------------------------------------
Changes (by adamgundry):

 * cc: adamgundry (added)


Comment:

 One can go arbitrarily far in this direction, so it's not obvious when to
 stop. I agree that `D d Double ~ Bool` seems like it should be easily
 solved, but what about something like `D d Double ~ D d Bool`? This also
 can hold only if `d ~ In`, which could be detected by unifying stuck
 closed type family applications with each branch in turn and noticing that
 all but one lead to inconsistencies.

 I think this approach makes sense in terms of "improvement", but
 representing evidence for it would be difficult, so it would be hard to
 handle givens as opposed to wanteds. Moreover, it might not be very
 efficient!

 If anyone would like to experiment, though, this seems like a nice
 application for typechecker plugins.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10227#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list