summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Eisenberg <rae@richarde.dev>2020-09-15 15:20:43 -0400
committerMarge Bot <ben+marge-bot@smart-cactus.org>2020-09-17 01:28:38 -0400
commitda8f4ddd76bac18c721aeaa247725953604206d3 (patch)
tree2bc4cdbaa16d5e61fc2aaf91ec6405e0cfaeff96
parent76d3bcbcef61ac71677855d6f90754ef019b9b4f (diff)
downloadhaskell-da8f4ddd76bac18c721aeaa247725953604206d3.tar.gz
Document IfaceTupleTy
-rw-r--r--compiler/GHC/Iface/Type.hs5
1 files changed, 5 insertions, 0 deletions
diff --git a/compiler/GHC/Iface/Type.hs b/compiler/GHC/Iface/Type.hs
index 57c31920b4..73ce53e34d 100644
--- a/compiler/GHC/Iface/Type.hs
+++ b/compiler/GHC/Iface/Type.hs
@@ -176,6 +176,11 @@ data IfaceType
PromotionFlag -- A bit like IfaceTyCon
IfaceAppArgs -- arity = length args
-- For promoted data cons, the kind args are omitted
+ -- Why have this? Only for efficiency: IfaceTupleTy can omit the
+ -- type arguments, as they can be recreated when deserializing.
+ -- In an experiment, removing IfaceTupleTy resulted in a 0.75% regression
+ -- in interface file size (in GHC's boot libraries).
+ -- See !3987.
type IfaceMult = IfaceType