[GHC] #10143: Separate PprFlags (used by Outputable) from DynFlags

GHC ghc-devs at haskell.org
Thu May 19 10:08:28 UTC 2016


#10143: Separate PprFlags (used by Outputable) from DynFlags
-------------------------------------+-------------------------------------
        Reporter:  ezyang            |                Owner:  ezyang
            Type:  task              |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  7.11
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:  #10961            |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by simonpj):

 I don't understand all the details here but

 * I'm cautious about putting `PlatformConstants` into `PprFlags`.  The
 latter should really just be about rendering.  Perhaps the platform-
 constant info should be used when ''generating'' Cmm rather than when
 ''printing'' it?  Or, if it absolutely must be done when printing it,
 maybe it should be an explicit argument to the printing code, which will
 make more apparent that something strange is going on.

 * Let's try to avoid a proliferation of type classes, especially if we
 always know which one we are in.  e.g if all the calls to `(+)` were at a
 known type (like `Int`), then we could use `plusInt`, `plusDouble` etc,
 and all the type class gives us is some notational  convenience.   That's
 not true for `(+)` because we want `foo :: Num a => a -> a; foo x = x+x`,
 but it may be here.

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


More information about the ghc-tickets mailing list