
#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