diff options
author | Chaitanya Koparkar <ckoparkar@gmail.com> | 2018-09-19 09:19:53 +0200 |
---|---|---|
committer | Krzysztof Gogolewski <krz.gogolewski@gmail.com> | 2018-09-19 09:19:53 +0200 |
commit | 45befe27495b1a7bca037b6a3eedf2474a0204c8 (patch) | |
tree | 466c369f77b9439d8542b86882025b8b35e9e713 /compiler/prelude/PrelNames.hs | |
parent | a4ae97ea631461ec1fd9d7aabab767eaa0bec185 (diff) | |
download | haskell-45befe27495b1a7bca037b6a3eedf2474a0204c8.tar.gz |
Use predefined known-key names when possible
Summary:
For certain entities in 'PrelNames', we were creating new 'Name's
instead of reusing the ones already defined. Easily fixed.
Test Plan: ./validate
Reviewers: dfeuer, RyanGlScott, bgamari, simonpj
Reviewed By: simonpj
Subscribers: simonpj, rwbarton, carter
GHC Trac Issues: #13279
Differential Revision: https://phabricator.haskell.org/D5160
Diffstat (limited to 'compiler/prelude/PrelNames.hs')
-rw-r--r-- | compiler/prelude/PrelNames.hs | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/compiler/prelude/PrelNames.hs b/compiler/prelude/PrelNames.hs index 90f1f44713..d75ad47c6d 100644 --- a/compiler/prelude/PrelNames.hs +++ b/compiler/prelude/PrelNames.hs @@ -630,9 +630,9 @@ le_RDR = varQual_RDR gHC_CLASSES (fsLit "<=") lt_RDR = varQual_RDR gHC_CLASSES (fsLit "<") gt_RDR = varQual_RDR gHC_CLASSES (fsLit ">") compare_RDR = varQual_RDR gHC_CLASSES (fsLit "compare") -ltTag_RDR = dataQual_RDR gHC_TYPES (fsLit "LT") -eqTag_RDR = dataQual_RDR gHC_TYPES (fsLit "EQ") -gtTag_RDR = dataQual_RDR gHC_TYPES (fsLit "GT") +ltTag_RDR = nameRdrName ordLTDataConName +eqTag_RDR = nameRdrName ordEQDataConName +gtTag_RDR = nameRdrName ordGTDataConName eqClass_RDR, numClass_RDR, ordClass_RDR, enumClass_RDR, monadClass_RDR :: RdrName @@ -643,10 +643,11 @@ enumClass_RDR = nameRdrName enumClassName monadClass_RDR = nameRdrName monadClassName map_RDR, append_RDR :: RdrName -map_RDR = varQual_RDR gHC_BASE (fsLit "map") -append_RDR = varQual_RDR gHC_BASE (fsLit "++") +map_RDR = nameRdrName mapName +append_RDR = nameRdrName appendName -foldr_RDR, build_RDR, returnM_RDR, bindM_RDR, failM_RDR_preMFP, failM_RDR:: RdrName +foldr_RDR, build_RDR, returnM_RDR, bindM_RDR, failM_RDR_preMFP, + failM_RDR :: RdrName foldr_RDR = nameRdrName foldrName build_RDR = nameRdrName buildName returnM_RDR = nameRdrName returnMName @@ -822,9 +823,9 @@ conIsRecord_RDR = varQual_RDR gHC_GENERICS (fsLit "conIsRecord") prefixDataCon_RDR = dataQual_RDR gHC_GENERICS (fsLit "Prefix") infixDataCon_RDR = dataQual_RDR gHC_GENERICS (fsLit "Infix") -leftAssocDataCon_RDR = dataQual_RDR gHC_GENERICS (fsLit "LeftAssociative") -rightAssocDataCon_RDR = dataQual_RDR gHC_GENERICS (fsLit "RightAssociative") -notAssocDataCon_RDR = dataQual_RDR gHC_GENERICS (fsLit "NotAssociative") +leftAssocDataCon_RDR = nameRdrName leftAssociativeDataConName +rightAssocDataCon_RDR = nameRdrName rightAssociativeDataConName +notAssocDataCon_RDR = nameRdrName notAssociativeDataConName uAddrDataCon_RDR = dataQual_RDR gHC_GENERICS (fsLit "UAddr") uCharDataCon_RDR = dataQual_RDR gHC_GENERICS (fsLit "UChar") @@ -843,7 +844,7 @@ uWordHash_RDR = varQual_RDR gHC_GENERICS (fsLit "uWord#") fmap_RDR, replace_RDR, pure_RDR, ap_RDR, liftA2_RDR, foldable_foldr_RDR, foldMap_RDR, null_RDR, all_RDR, traverse_RDR, mempty_RDR, mappend_RDR :: RdrName -fmap_RDR = varQual_RDR gHC_BASE (fsLit "fmap") +fmap_RDR = nameRdrName fmapName replace_RDR = varQual_RDR gHC_BASE (fsLit "<$") pure_RDR = nameRdrName pureAName ap_RDR = nameRdrName apAName @@ -853,8 +854,8 @@ foldMap_RDR = varQual_RDR dATA_FOLDABLE (fsLit "foldMap") null_RDR = varQual_RDR dATA_FOLDABLE (fsLit "null") all_RDR = varQual_RDR dATA_FOLDABLE (fsLit "all") traverse_RDR = varQual_RDR dATA_TRAVERSABLE (fsLit "traverse") -mempty_RDR = varQual_RDR gHC_BASE (fsLit "mempty") -mappend_RDR = varQual_RDR gHC_BASE (fsLit "mappend") +mempty_RDR = nameRdrName memptyName +mappend_RDR = nameRdrName mappendName ---------------------- varQual_RDR, tcQual_RDR, clsQual_RDR, dataQual_RDR |