
#15009: Float equalities past local equalities -------------------------------------+------------------------------------- Reporter: goldfire | Owner: (none) Type: feature request | Status: closed Priority: normal | Milestone: 8.4.3 Component: Compiler | Version: 8.2.2 Resolution: fixed | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: gadt/T15009 Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj):
How is it that a_a2do occurs both as a_a2do[sk:2] and also as a_a2do[tau:2] in this implication tree?
I strongly suspect that `a_a2do` started life as a unification variable `[tau:2]`, but we ended up generalising over it, so we skolemised it to `a_a2do`. That is we unify `a_a2do := a_a2do[sk]`. I believe that the implication tree is being displayed here without zonking; that is, without taking account of unifications. I'd be shocked if we had both, but ''without'' having `a_a2do[tau]` being unified with `a_a2do[sk]`. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15009#comment:17 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler