[GHC] #4347: Bug in unification of polymorphic and not-yet-polymorphic type

GHC ghc-devs at haskell.org
Mon Dec 1 17:40:48 UTC 2014


#4347: Bug in unification of polymorphic and not-yet-polymorphic type
-------------------------------------+-------------------------------------
              Reporter:  dolio       |            Owner:
                  Type:  bug         |           Status:  new
              Priority:  normal      |        Milestone:  7.10.1
             Component:  Compiler    |          Version:  7.1
  (Type checker)                     |         Keywords:
            Resolution:              |     Architecture:  x86_64 (amd64)
      Operating System:  Linux       |       Difficulty:  Unknown
       Type of failure:  GHC         |       Blocked By:
  rejects valid program              |  Related Tickets:
             Test Case:              |
              Blocking:              |
Differential Revisions:              |
-------------------------------------+-------------------------------------

Comment (by dolio):

 To be honest, I'd be fine with closing this ticket. I filed it right
 around the 6 -> 7 cutover, and evidently thought that the new type checker
 was still supposed to handle impredicative instantiation. But, the truth
 is, I think, that if the new algorithm does handle certain impredicative
 cases, it's more a happy accident than a design principle. So my const
 example happened to work, but id didn't at the time. I interpreted that as
 a bug with id rather than being happy that it worked at all for const.

 I'll leave it to the implementors to decide. If the id example works in
 7.10, that's handy. But I've long since stopped considering 'regressions'
 in impredicative instantiation relative to 6.x actual regressions. It's
 merely the result a different set of tradeoffs.

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


More information about the ghc-tickets mailing list