
#15725: Core Lint error: Trans coercion mis-match -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: 8.8.1 Component: Compiler | Version: 8.6.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: #15703 | Differential Rev(s): Phab:D5217 Wiki Page: | -------------------------------------+------------------------------------- Comment (by RyanGlScott): Replying to [comment:5 simonpj]:
Is the bug in [https://www.microsoft.com/en-us/research/publication /evidence-normalization-system-fc-2/ the paper], or just in the implementation?
I'm not sure. Having skimmed the paper, it looks like the code I changed roughly corresponds to the RedInstTy reduction rule from Figure 7 (when you have `InstCo (ForAllCo (a:eta). gamma) phi`). But the RedInstTy rule that is shown in the paper is much simpler than the thing that's actually implemented in GHC, since the paper doesn't distinguish between the cases where `a` is a type variable or coercion variable, nor does it include any details of the "lifting context" business from //System FC with Explicit Kind Equality//. So I can't really make any kind of judgment on whether //Evidence Normalisation in System FC// is correct or not. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15725#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler