
#9858: Typeable instances should be kind-aware -------------------------------------+------------------------------------- Reporter: dreixel | Owner: Type: bug | Status: new Priority: highest | Milestone: 7.12.1 Component: Compiler | Version: 7.9 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: None/Unknown | Unknown/Multiple Blocked By: | Test Case: Related Tickets: | Blocking: | Differential Revisions: Phab:D652 -------------------------------------+------------------------------------- Comment (by oerjan): Replying to [comment:77 diatchki]:
Hm, I think I can see what might be the issue, in fact there might be 2: * {{{() :: *}}} and {{{() :: Constraint}}} will end up having the same representation * Have to look at how we compute type reps for odd rank-2 types like {{{ ((),()) => () }}}
I'll have a go at a fix.
Although the automatic currying makes it disappear in this particular example, tuples like `((),())` also get the same representation as `*` and `Constraint`. I guess you currently need the `()` case to build any others, but I'm not sure if that should be counted on. (I also guess this all means Richard was right.) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9858#comment:78 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler