
I don't think my reasoning was any deeper than the comment says. In the example in the Description, the roles are a distraction from the main
#10905: Incorrect number of parameters in "role" errors -------------------------------------+------------------------------------- Reporter: crockeea | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.10.2 Resolution: | Keywords: roles Operating System: Unknown/Multiple | Architecture: Type of failure: Incorrect | Unknown/Multiple warning at compile-time | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): -------------------------------------+------------------------------------- Comment (by crockeea): To me this is a separate issue from the bug I reported. I have no problem with the fact that roles were reported for a missing constructor error. If anything I think the roles *help* in my example. The ticket as reported is really just about when the kind-roles should be printed, as that's the part I found confusing. Replying to [comment:4 simonpj]: point: the constructor isn't in scope. They just get in the way, and for most people will be mysterious and confusing.
Do we even want to see these role, or perhaps the roles of type
constructors we have decomposed on the way to getting this error?
To put it another way, can you give an example of where they are useful?
-- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10905#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler