summaryrefslogtreecommitdiff
path: root/compiler
diff options
context:
space:
mode:
authorMatthew Pickering <matthewtpickering@gmail.com>2021-04-01 09:28:24 +0100
committerMatthew Pickering <matthewtpickering@gmail.com>2021-04-01 09:28:46 +0100
commit6edf11b2376a3426401ded541e5bd9d665775099 (patch)
tree610a4bf85099bc81806b560fd8514d19441a5189 /compiler
parent9c9e40e59214b1e358c85852218f3a67e712a748 (diff)
downloadhaskell-wip/core-expr-strict.tar.gz
Experiment: Try making CoreExpr binder fields strictwip/core-expr-strict
Diffstat (limited to 'compiler')
-rw-r--r--compiler/GHC/Core.hs8
1 files changed, 4 insertions, 4 deletions
diff --git a/compiler/GHC/Core.hs b/compiler/GHC/Core.hs
index 2c30b6f3d4..fe8188cf23 100644
--- a/compiler/GHC/Core.hs
+++ b/compiler/GHC/Core.hs
@@ -252,12 +252,12 @@ is better for at least three reasons:
-- If you edit this type, you may need to update the GHC formalism
-- See Note [GHC Formalism] in GHC.Core.Lint
data Expr b
- = Var Id
+ = Var !Id
| Lit Literal
| App (Expr b) (Arg b)
- | Lam b (Expr b)
+ | Lam !b (Expr b)
| Let (Bind b) (Expr b)
- | Case (Expr b) b Type [Alt b] -- See Note [Case expression invariants]
+ | Case (Expr b) !b Type [Alt b] -- See Note [Case expression invariants]
-- and Note [Why does Case have a 'Type' field?]
| Cast (Expr b) Coercion
| Tick CoreTickish (Expr b)
@@ -276,7 +276,7 @@ type Arg b = Expr b
-- If you edit this type, you may need to update the GHC formalism
-- See Note [GHC Formalism] in GHC.Core.Lint
data Alt b
- = Alt AltCon [b] (Expr b)
+ = Alt AltCon ![b] (Expr b)
deriving (Data)
-- | A case alternative constructor (i.e. pattern match)