[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