[GHC] #11715: Constraint vs *

GHC ghc-devs at haskell.org
Mon Mar 27 21:26:39 UTC 2017


#11715: Constraint vs *
-------------------------------------+-------------------------------------
        Reporter:  bgamari           |                Owner:  goldfire
            Type:  bug               |               Status:  new
        Priority:  highest           |            Milestone:  8.4.1
       Component:  Compiler (Type    |              Version:  8.0.1-rc1
  checker)                           |             Keywords:  Typeable,
      Resolution:                    |  LevityPolymorphism, Roles
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):  Phab:D3316
       Wiki Page:                    |
-------------------------------------+-------------------------------------
Changes (by simonpj):

 * differential:   => Phab:D3316


Comment:

 OK, so Phab:D3316 is a compromise fix for GHC 8.2.  It re-introduces the
 `tcView`/`coreView` split, making `Type` and `Constraint` distinct in the
 typechecker and the same there after.

 We regard this as a stop-gap solution, pending making `Type` and
 `Constraint` distinct througout the compiler.

 However, `T11480b` currently fails with Phab:D3316: see comment:69 for
 why. The plan:

 * Make the pure unifier use `tcView` not `coreView`.  That should fix
 `T11480b`.

 * Ensure that `Typeable Type` and `Typeable Constraint` produce different
 representations; that will fix comment:71 opf #11715

 * Accept that a Core program can be unsound, in an obscure way, so long as
 the stop-gap solution holds.  (We don't know any way to exploit this
 unsoundness from Haskell though.)

 We should get on with the real solution for 8.4

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


More information about the ghc-tickets mailing list