[GHC] #10735: Smooth out the differences between `compiler/utils/Pretty.hs` and `libraries/pretty`

GHC ghc-devs at haskell.org
Tue Aug 4 10:52:09 UTC 2015


#10735: Smooth out the differences between `compiler/utils/Pretty.hs` and
`libraries/pretty`
-------------------------------------+-------------------------------------
              Reporter:  thomie      |             Owner:
                  Type:  task        |            Status:  new
              Priority:  normal      |         Milestone:  7.12.1
             Component:  Compiler    |           Version:  7.0.1
              Keywords:              |  Operating System:  Unknown/Multiple
          Architecture:              |   Type of failure:  None/Unknown
  Unknown/Multiple                   |
             Test Case:              |        Blocked By:
              Blocking:              |   Related Tickets:  #1062, #1176,
Differential Revisions:              |  #7666
-------------------------------------+-------------------------------------
 GHC has an internal copy of `pretty` in `compiler/utils/Pretty.hs`.

 Todo:
   * refactor GHC's copy to make it as similar as possible to `pretty`,
 without making any real code changes.
   * apply the bug fixes that `pretty` received to GHC's copy, making sure
 not to pick up any possible new bugs in the process.

 According to (1):

   "There is one situation where the laws for pretty are ambiguous and
 leave room for choice. GHC decided one way and pretty the other."

   * Find which law that is, and document the differences.

 This hopefully allows us to close the following tickets for free: #1062,
 #1176 and #7666, maybe more.

 Ideally we could remove GHC's copy altogether, but we're not there yet.
 GHC's copy uses FastString, which is supposedly needed for performance,
 whereas pretty uses `String`.

 (1) https://github.com/haskell/pretty/issues/1

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


More information about the ghc-tickets mailing list