summaryrefslogtreecommitdiff
path: root/compiler
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2017-03-02 18:37:23 -0500
committerBen Gamari <ben@smart-cactus.org>2017-03-02 19:58:01 -0500
commit615ded12f47d3685606bcfabb4f1980e748be1d9 (patch)
tree80727cab9a2f376388ddc421eaef4a839b5cbe81 /compiler
parent6421c6f2bb56bcdf2415e8556180821eedd77d2d (diff)
downloadhaskell-615ded12f47d3685606bcfabb4f1980e748be1d9.tar.gz
Show: Add ShowS for ", "
This is produced often enough in derived Show instances that it is likely worthwhile defining it once.
Diffstat (limited to 'compiler')
-rw-r--r--compiler/prelude/PrelNames.hs3
-rw-r--r--compiler/typecheck/TcGenDeriv.hs3
2 files changed, 4 insertions, 2 deletions
diff --git a/compiler/prelude/PrelNames.hs b/compiler/prelude/PrelNames.hs
index 470b736286..0ae3867605 100644
--- a/compiler/prelude/PrelNames.hs
+++ b/compiler/prelude/PrelNames.hs
@@ -751,13 +751,14 @@ prec_RDR = varQual_RDR rEAD_PREC (fsLit "prec")
pfail_RDR = varQual_RDR rEAD_PREC (fsLit "pfail")
showList_RDR, showList___RDR, showsPrec_RDR, shows_RDR, showString_RDR,
- showSpace_RDR, showParen_RDR :: RdrName
+ showSpace_RDR, showCommaSpace_RDR, showParen_RDR :: RdrName
showList_RDR = varQual_RDR gHC_SHOW (fsLit "showList")
showList___RDR = varQual_RDR gHC_SHOW (fsLit "showList__")
showsPrec_RDR = varQual_RDR gHC_SHOW (fsLit "showsPrec")
shows_RDR = varQual_RDR gHC_SHOW (fsLit "shows")
showString_RDR = varQual_RDR gHC_SHOW (fsLit "showString")
showSpace_RDR = varQual_RDR gHC_SHOW (fsLit "showSpace")
+showCommaSpace_RDR = varQual_RDR gHC_SHOW (fsLit "showCommaSpace")
showParen_RDR = varQual_RDR gHC_SHOW (fsLit "showParen")
undefined_RDR :: RdrName
diff --git a/compiler/typecheck/TcGenDeriv.hs b/compiler/typecheck/TcGenDeriv.hs
index 533664ec57..c46c2919b6 100644
--- a/compiler/typecheck/TcGenDeriv.hs
+++ b/compiler/typecheck/TcGenDeriv.hs
@@ -1125,6 +1125,7 @@ gen_Show_binds get_fixity loc tycon
-----------------------------------------------------------------------
data_cons = tyConDataCons tycon
shows_prec = mk_FunBind loc showsPrec_RDR (map pats_etc data_cons)
+ comma_space = nlHsVar showCommaSpace_RDR
pats_etc data_con
| nullary_con = -- skip the showParen junk...
@@ -1174,7 +1175,7 @@ gen_Show_binds get_fixity loc tycon
-- Assumption for record syntax: no of fields == no of
-- labelled fields (and in same order)
show_record_args = concat $
- intersperse [mk_showString_app ", "] $
+ intersperse [comma_space] $
[ [show_label lbl, arg]
| (lbl,arg) <- zipEqual "gen_Show_binds"
labels show_args ]