summaryrefslogtreecommitdiff
path: root/compiler/GHC/Core
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/GHC/Core')
-rw-r--r--compiler/GHC/Core/Opt/Pipeline.hs2
-rw-r--r--compiler/GHC/Core/Opt/SpecConstr.hs4
-rw-r--r--compiler/GHC/Core/TyCon.hs4
-rw-r--r--compiler/GHC/Core/Utils.hs3
4 files changed, 6 insertions, 7 deletions
diff --git a/compiler/GHC/Core/Opt/Pipeline.hs b/compiler/GHC/Core/Opt/Pipeline.hs
index 3e9470dc88..884dcbf44d 100644
--- a/compiler/GHC/Core/Opt/Pipeline.hs
+++ b/compiler/GHC/Core/Opt/Pipeline.hs
@@ -885,7 +885,7 @@ Old "solution":
of iterateList in the first place
But in principle the user *might* want rules that only apply to the Id
-he says. And inline pragmas are similar
+they say. And inline pragmas are similar
{-# NOINLINE f #-}
f = local
local = <stuff>
diff --git a/compiler/GHC/Core/Opt/SpecConstr.hs b/compiler/GHC/Core/Opt/SpecConstr.hs
index ab36ad8f22..9dd4ab895b 100644
--- a/compiler/GHC/Core/Opt/SpecConstr.hs
+++ b/compiler/GHC/Core/Opt/SpecConstr.hs
@@ -1744,8 +1744,8 @@ Note [spec_usg includes rhs_usg]
In calls to 'specialise', the returned ScUsage must include the rhs_usg in
the passed-in SpecInfo, unless there are no calls at all to the function.
-The caller can, indeed must, assume this. He should not combine in rhs_usg
-himself, or he'll get rhs_usg twice -- and that can lead to an exponential
+The caller can, indeed must, assume this. They should not combine in rhs_usg
+themselves, or they'll get rhs_usg twice -- and that can lead to an exponential
blowup of duplicates in the CallEnv. This is what gave rise to the massive
performance loss in #8852.
diff --git a/compiler/GHC/Core/TyCon.hs b/compiler/GHC/Core/TyCon.hs
index ad455779b7..9982436429 100644
--- a/compiler/GHC/Core/TyCon.hs
+++ b/compiler/GHC/Core/TyCon.hs
@@ -224,8 +224,8 @@ See also Note [Wrappers for data instance tycons] in GHC.Types.Id.Make
* Reply "yes" to isDataFamilyTyCon, and isFamilyTyCon
-* The user does not see any "equivalent types" as he did with type
- synonym families. He just sees constructors with types
+* The user does not see any "equivalent types" as they did with type
+ synonym families. They just see constructors with types
T1 :: T Int
T2 :: Bool -> T Int
diff --git a/compiler/GHC/Core/Utils.hs b/compiler/GHC/Core/Utils.hs
index 076d5213d9..e980c560e0 100644
--- a/compiler/GHC/Core/Utils.hs
+++ b/compiler/GHC/Core/Utils.hs
@@ -1511,7 +1511,7 @@ Note [Expandable overloadings]
Suppose the user wrote this
{-# RULE forall x. foo (negate x) = h x #-}
f x = ....(foo (negate x))....
-He'd expect the rule to fire. But since negate is overloaded, we might
+They'd expect the rule to fire. But since negate is overloaded, we might
get this:
f = \d -> let n = negate d in \x -> ...foo (n x)...
So we treat the application of a function (negate in this case) to a
@@ -2621,4 +2621,3 @@ isUnsafeEqualityProof e
= idName v == unsafeEqualityProofName
| otherwise
= False
-