
#16246: GHC HEAD-only Core Lint error with unboxed equality (Non-CoVar has coercion type) -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.10.1 Component: Compiler | Version: 8.6.3 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: #15648 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): In `docs/core-spec/core-spec.pdf`, the syntax of Core includes coercions and coercion variables ''c''. There is a different typing judgement for a coercion abstraction than for a non-coercion abstraction. The `CoVar` distinction in GHC is trying to track variables that range over coercions. One path might be to say that there is really no distinction (in Core anyway) between a `CoVar` and any other `Id`; but then why do we have two typing judgements? Another path might be to uphold the distinction, explain why we have it, and make sure it is respected. Richard, which would you suggest and why? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/16246#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler