
#10075: Muddling Constraint and * means that Core is inconsistent -------------------------------------+------------------------------------- Reporter: goldfire | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.8.4 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: None/Unknown | Unknown/Multiple Blocked By: | Test Case: Related Tickets: | Blocking: | Differential Revisions: -------------------------------------+------------------------------------- Comment (by goldfire): If running `coreView` -- the function that unwraps type synonyms before inspecting a type -- also returned `Just *` when given `Constraint`, I think the problem would be solved. This essentially treats `Constraint` as a type synonym for `*` in `coreView`, but not in `tcView`. On the other hand, if we implemented this `coreView` idea, then my example code wouldn't compile, as the type instances would overlap. From a Haskell (as opposed to Core) point of view, the overlap here would be strange, as `Constraint` and `*` ''are'' distinct in Haskell. Perhaps we really do need kind equalities to sort this one out... :) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10075#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler