
#10735: Smooth out the differences between `compiler/utils/Pretty.hs` and `libraries/pretty` -------------------------------------+------------------------------------- Reporter: thomie | Owner: thomie Type: task | Status: new Priority: normal | Milestone: 7.12.1 Component: Compiler | Version: 7.0.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #1062, #1176, | Differential Revisions: #7666 | -------------------------------------+------------------------------------- Comment (by bgamari): Replying to [comment:1 thomie]:
I have patches. Lovely. Will we be seeing them on Phab soon?
On a related note, I've recently been thinking about error reporting with an eye for making the messages produced by GHC more useful to external tools. I've described one possible approach in ticket:8809#comment:3 which would involve making `Doc` a sort of free functor, allowing the insertion of rich AST objects into the document. Monadic semantics would certain patterns of projecting out these annotations into vanilla documents quite convenient. Unfortunately, the Hughes/Peyton-Jones pretty-printer isn't terribly well- suited for this as you need to know the width of a node's parent during construction. I've been meaning to explore adopting the Wadler/Leijen pretty-printer as Edward Kmett has already [http://hackage.haskell.org/package/wl-pprint-extras-3.5.0.5/docs/Text- PrettyPrint-Free.html demonstrated] that an implementation with annotations along the lines of my proposal is possible. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10735#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler