diff options
author | Vladislav Zavialov <vlad.z.4096@gmail.com> | 2020-04-13 16:29:44 +0300 |
---|---|---|
committer | Vladislav Zavialov <vlad.z.4096@gmail.com> | 2020-04-23 17:21:28 +0300 |
commit | e21f3023b095d9bbd000330b56aaaa2977134335 (patch) | |
tree | e4f66eb46539c3d62b47648297915d19d8105f6a /compiler/GHC/Tc/Validity.hs | |
parent | 8ea37b01b6ab16937f7b528b6bbae9fade9f1361 (diff) | |
download | haskell-wip/semigroup-sdoc.tar.gz |
Use Semigroup's (<>) for Doc/SDocwip/semigroup-sdoc
Before this patch, Outputable.hs defined its own (<>) which caused
conflicts with (Data.Semigroup.<>) and thus led to inconvenience.
However, replacing it is not trivial due to a different fixity:
http://www.haskell.org/pipermail/libraries/2011-November/017066.html
Nevertheless, it is possible to update the pretty-printing code to work
with (<>) of a different fixitiy, and that's what this patch implements.
Now Doc and SDoc are instances of Semigroup.
Diffstat (limited to 'compiler/GHC/Tc/Validity.hs')
-rw-r--r-- | compiler/GHC/Tc/Validity.hs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/compiler/GHC/Tc/Validity.hs b/compiler/GHC/Tc/Validity.hs index 6e44a6c399..b5ba5feec9 100644 --- a/compiler/GHC/Tc/Validity.hs +++ b/compiler/GHC/Tc/Validity.hs @@ -1424,7 +1424,7 @@ constraintSynErr env kind dupPredWarn :: TidyEnv -> [NE.NonEmpty PredType] -> (TidyEnv, SDoc) dupPredWarn env dups = ( env - , text "Duplicate constraint" <> plural primaryDups <> text ":" + , text "Duplicate" <+> plural "constraint" primaryDups <> text ":" <+> pprWithCommas (ppr_tidy env) primaryDups ) where primaryDups = map NE.head dups @@ -1955,7 +1955,7 @@ smallerMsg what inst_head noMoreMsg :: [TcTyVar] -> SDoc -> SDoc -> SDoc noMoreMsg tvs what inst_head - = vcat [ hang (text "Variable" <> plural tvs1 <+> quotes (pprWithCommas ppr tvs1) + = vcat [ hang (plural "Variable" tvs1 <+> quotes (pprWithCommas ppr tvs1) <+> occurs <+> text "more often") 2 (sep [ text "in the" <+> what , text "than in the instance head" <+> quotes inst_head ]) @@ -2196,7 +2196,7 @@ checkFamPatBinders fam_tc qtvs pats rhs check_tvs tvs what what2 = unless (null tvs) $ addErrAt (getSrcSpan (head tvs)) $ - hang (text "Type variable" <> plural tvs <+> pprQuotedList tvs + hang (text "Type" <+> plural "variable" tvs <+> pprQuotedList tvs <+> isOrAre tvs <+> what <> comma) 2 (vcat [ text "but not" <+> what2 <+> text "the family instance" , mk_extra tvs ]) |