Unify fixity/associativity of <>-ish pretty-printing operators
note See also Proposal/LeftAssocSemigroupOp
This ticket is motivated by GHC's new -fwarn-semigroup
, and that <>
is moving into Prelude
with future GHCs.
Throughout GHC's source there are related pretty-printing operators with subtly different infixr/infixl
-declarations.
It would be desirable to unify those and possibly use Semigroup((<>))
instead (where <>
represents a semigroup/monoid operation anyway)
Otoh, existing code using <>
assumes a different fixity (Monoid/Semigroup have infixr 6 <>
), so it may make sense to start by renaming the unconventional <>
s into something else.
Modules affected:
-
Outputable
: default fixity, i.e.infixl 9
(ghc) -
Pretty
:infixl 6
(ghc) -
Language.Haskell.TH.PprLib
:infixl 6
(template-haskell)
Related discussion: https://github.com/haskell/pretty/issues/30