[GHC] #8809: Prettier error messages?

GHC ghc-devs at haskell.org
Sun Jan 15 16:44:11 UTC 2017


#8809: Prettier error messages?
-------------------------------------+-------------------------------------
        Reporter:  joelteon          |                Owner:
            Type:  feature request   |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  7.9
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:  13122
 Related Tickets:                    |  Differential Rev(s):
  #8809,#10073,#10179,#12906         |
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by bgamari):

 Phil, I'm not sure I understand your `ELink` constructor. Is the `Int`
 here a stand-in for any old type, or is this really an `Int`? If the
 latter, what does it represent?

 Not to discourage discussion of other options, but I'd just like to remind
 everyone that Idris has set some very nice precedent for the semantics-
 details-in-pretty-printer approach. David Christiansen summarizes this
 nicely in his HIW 2015 talk,
 [[https://www.youtube.com/watch?v=m7BBCcIDXSg]]. I'd encourage anyone
 interested in this ticket to watch this talk.

 In general I worry that by framing the problem solely in terms of "error
 messages" as done in comment:52 we miss out on the richness that the Idris
 folks enjoy. What enables their nice presentation is the fact that the
 semantically rich objects and the pretty-printer documents are one and the
 same. This means that any time your error `ppr`s a type/expression/source
 span/etc. you automatically get a rich representation for free. This is
 something that I believe would be non-trivial to reproduce in the approach
 of comment:52. Recall that in GHC we typically build up error messages
 compositionally from a variety of often nested pieces; it seems to me that
 by distinguishing "error messages" from `SDoc` we give up the ability to
 do this (unless, of course, we refactor our error message building blocks
 in terms of `ErrMsg`, in which case why didn't we just use `SDoc` to begin
 with?).

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8809#comment:56>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list