<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<meta content="text/html; charset=US-ASCII" http-equiv="Content-Type">
<title>
GitLab
</title>

<style data-premailer="ignore" type="text/css">
a { color: #1068bf; }
</style>


<style>img {
max-width: 100%; height: auto;
}
body {
font-size: 0.875rem;
}
body {
-webkit-text-shadow: rgba(255,255,255,0.01) 0 0 1px;
}
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", Ubuntu, Cantarell, "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: inherit;
}
</style>
</head>
<body style='font-size: inherit; -webkit-text-shadow: rgba(255,255,255,0.01) 0 0 1px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", Ubuntu, Cantarell, "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";'>
<div class="content">

<h3 style="margin-top: 20px; margin-bottom: 10px;">
Simon Peyton Jones pushed to branch wip/T22434 at <a href="https://gitlab.haskell.org/ghc/ghc" style="color: #1068bf;">Glasgow Haskell Compiler / GHC</a>
</h3>
<h4 style="margin-top: 10px; margin-bottom: 10px;">
Commits:
</h4>
<ul>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/92ccb8de9624ea930d66152b2f6a181941a497c9" style="color: #1068bf;">92ccb8de</a></strong>
<div>
<span> by Giles Anderson </span> <i> at 2022-11-09T09:27:52-05:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 0.8125rem; color: #303030; position: relative; font-family: "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; word-break: break-all; word-wrap: break-word; background-color: #fafafa; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dbdbdb;'>Use TcRnDiagnostic in GHC.Tc.TyCl.Instance (#20117)

The following `TcRnDiagnostic` messages have been introduced:

TcRnWarnUnsatisfiedMinimalDefinition
TcRnMisplacedInstSig
TcRnBadBootFamInstDeclErr
TcRnIllegalFamilyInstance
TcRnAssocInClassErr
TcRnBadFamInstDecl
TcRnNotOpenFamily
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/90c5abd4581b404f715e72ad55303e18d0c31d68" style="color: #1068bf;">90c5abd4</a></strong>
<div>
<span> by Hécate Moonlight </span> <i> at 2022-11-09T09:28:30-05:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 0.8125rem; color: #303030; position: relative; font-family: "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; word-break: break-all; word-wrap: break-word; background-color: #fafafa; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dbdbdb;'>GHCi tags generation phase 2

see #19884
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/299d21bbe03d4e054be7702b495f792f99898dfd" style="color: #1068bf;">299d21bb</a></strong>
<div>
<span> by Simon Peyton Jones </span> <i> at 2022-11-10T12:14:32+00:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 0.8125rem; color: #303030; position: relative; font-family: "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; word-break: break-all; word-wrap: break-word; background-color: #fafafa; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dbdbdb;'>Add a fast path for data constructor workers

See Note [Fast path for data constructors] in
GHC.Core.Opt.Simplify.Iteration

This bypasses lots of expensive logic, in the special case of
applications of data constructors.  It is a surprisingly worthwhile
improvement, as you can see in the figures below.

Metrics: compile_time/bytes allocated
------------------------------------------------
          CoOpt_Read(normal)   -2.0%
    CoOpt_Singletons(normal)   -2.0%
    ManyConstructors(normal)   -1.3%
              T10421(normal)   -1.9% GOOD
             T10421a(normal)   -1.5%
              T10858(normal)   -1.6%
              T11545(normal)   -1.7%
              T12234(optasm)   -1.3%
              T12425(optasm)   -1.9% GOOD
              T13035(normal)   -1.0% GOOD
              T13056(optasm)   -1.8%
              T13253(normal)   -3.3% GOOD
              T15164(normal)   -1.7%
              T15304(normal)   -3.4%
              T15630(normal)   -2.8%
              T16577(normal)   -4.3% GOOD
              T17096(normal)   -1.1%
              T17516(normal)   -3.1%
              T18282(normal)   -1.9%
              T18304(normal)   -1.2%
             T18698a(normal)   -1.2% GOOD
             T18698b(normal)   -1.5% GOOD
              T18923(normal)   -1.3%
               T1969(normal)   -1.3% GOOD
              T19695(normal)   -4.4% GOOD
             T21839c(normal)   -2.7% GOOD
             T21839r(normal)   -2.7% GOOD
               T4801(normal)   -3.8% GOOD
               T5642(normal)   -3.1% GOOD
               T6048(optasm)   -2.5% GOOD
               T9020(optasm)   -2.7% GOOD
               T9630(normal)   -2.1% GOOD
               T9961(normal)  -11.7% GOOD
               WWRec(normal)   -1.0%

                   geo. mean   -1.1%
                   minimum    -11.7%
                   maximum     +0.1%

Metric Decrease:
    T10421
    T12425
    T13035
    T13253
    T16577
    T18698a
    T18698b
    T1969
    T19695
    T21839c
    T21839r
    T4801
    T5642
    T6048
    T9020
    T9630
    T9961
</pre>
</li>
</ul>
<h4 style="margin-top: 10px; margin-bottom: 10px;">
30 changed files:
</h4>
<ul>
<li class="file-stats">
<a href="#ae6d91a5d028418bbf1431347d659e744e0a3128" style="color: #1068bf;">
compiler/GHC/Core/Opt/Simplify/Iteration.hs
</a>
</li>
<li class="file-stats">
<a href="#48fbb5cdea308650de5756521feb28ec68819b9b" style="color: #1068bf;">
compiler/GHC/Core/Opt/Simplify/Utils.hs
</a>
</li>
<li class="file-stats">
<a href="#d01de95d8c71d4dec6a9a59146186e29a5b3fd38" style="color: #1068bf;">
compiler/GHC/Core/Rules.hs
</a>
</li>
<li class="file-stats">
<a href="#3177183680205a840465ba6b8d33631394cca2d7" style="color: #1068bf;">
compiler/GHC/Driver/Errors/Ppr.hs
</a>
</li>
<li class="file-stats">
<a href="#1dd9c7a6bbc222c976a6ec1c4b772232ae60f7e5" style="color: #1068bf;">
compiler/GHC/Tc/Errors/Ppr.hs
</a>
</li>
<li class="file-stats">
<a href="#cdba811872892f235fe7059df1a6c538fba60816" style="color: #1068bf;">
compiler/GHC/Tc/Errors/Types.hs
</a>
</li>
<li class="file-stats">
<a href="#e63425e031ffe9350ee6b1687e506aaea75d11e1" style="color: #1068bf;">
compiler/GHC/Tc/TyCl/Instance.hs
</a>
</li>
<li class="file-stats">
<a href="#e2c828ee9e003df518a07b05beaa6971e5c62eb0" style="color: #1068bf;">
compiler/GHC/Types/Error/Codes.hs
</a>
</li>
<li class="file-stats">
<a href="#261c0c5029eb34eb7436b087d77314f377ff8223" style="color: #1068bf;">
compiler/GHC/Types/Id/Make.hs
</a>
</li>
<li class="file-stats">
<a href="#6eb5a0b96b177aca19166d72c447c364b49acd9b" style="color: #1068bf;">
ghc/GHCi/UI/Tags.hs
</a>
</li>
<li class="file-stats">
<a href="#95803b35ba97c9a25fac5334fabcf899aba12511" style="color: #1068bf;">
testsuite/tests/backpack/should_compile/bkp47.stderr
</a>
</li>
<li class="file-stats">
<a href="#8dacfdc368a60ad417fb173bb2d17cbf0e894d02" style="color: #1068bf;">
testsuite/tests/backpack/should_fail/bkpfail25.stderr
</a>
</li>
<li class="file-stats">
<a href="#61451fe7934b3888a7836e61f66f3d6ef19f9b28" style="color: #1068bf;">
testsuite/tests/deSugar/should_compile/T14546d.stderr
</a>
</li>
<li class="file-stats">
<a href="#1c44af09f856339146d09d082bf64d48b0adb3be" style="color: #1068bf;">
testsuite/tests/deriving/should_compile/T14094.stderr
</a>
</li>
<li class="file-stats">
<a href="#8cc29295cc9b92a4b843f93f9f7f0e1a22497be0" style="color: #1068bf;">
testsuite/tests/deriving/should_compile/T4966.stderr
</a>
</li>
<li class="file-stats">
<a href="#55caeb7df712fd54f1b27f55b6a01db027c64efd" style="color: #1068bf;">
testsuite/tests/deriving/should_compile/T9968a.stderr
</a>
</li>
<li class="file-stats">
<a href="#ea589ee5e554336f98beadbf895ea4c4d2089904" style="color: #1068bf;">
testsuite/tests/deriving/should_compile/deriving-1935.stderr
</a>
</li>
<li class="file-stats">
<a href="#d7a7c0725df0af87d0bc98a1a43618ad4d665d6d" style="color: #1068bf;">
testsuite/tests/deriving/should_compile/drv003.stderr
</a>
</li>
<li class="file-stats">
<a href="#d68c3ed122b67b871feee3f7ad39ac081979db0f" style="color: #1068bf;">
testsuite/tests/ghci/scripts/T5820.stderr
</a>
</li>
<li class="file-stats">
<a href="#2e263983a5b4a41c7018bb5dcedfb700e1499305" style="color: #1068bf;">
testsuite/tests/ghci/scripts/ghci019.stderr
</a>
</li>
<li class="file-stats">
<a href="#e504adabcf626c49665392300e5b20f40962a3be" style="color: #1068bf;">
testsuite/tests/indexed-types/should_compile/Class3.stderr
</a>
</li>
<li class="file-stats">
<a href="#40f2dddd2d93a19810c5e014de18b0bdfa6cd08e" style="color: #1068bf;">
testsuite/tests/indexed-types/should_compile/Simple2.stderr
</a>
</li>
<li class="file-stats">
<a href="#cc3336324406e470840d14d85e2ce0d5e108977f" style="color: #1068bf;">
<span class="new-file">
+
testsuite/tests/indexed-types/should_fail/BadFamInstDecl.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#c7ee0860b9677e06d71cdc688535eb03cb84df29" style="color: #1068bf;">
<span class="new-file">
+
testsuite/tests/indexed-types/should_fail/BadFamInstDecl.stderr
</span>
</a>
</li>
<li class="file-stats">
<a href="#8233c7051eea5c7ae769e1d6ddb0d4bd8c8339f0" style="color: #1068bf;">
<span class="new-file">
+
testsuite/tests/indexed-types/should_fail/BadFamInstDecl_aux.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#0b9907e7b74b597cabf56d7420638922e8326999" style="color: #1068bf;">
<span class="new-file">
+
testsuite/tests/indexed-types/should_fail/HsBootFam.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#d166a0030d7fdc742565a183b2da170a94839012" style="color: #1068bf;">
<span class="new-file">
+
testsuite/tests/indexed-types/should_fail/HsBootFam.stderr
</span>
</a>
</li>
<li class="file-stats">
<a href="#ec260f851124616c9b71e7c95cfa0823eb70cdb2" style="color: #1068bf;">
<span class="new-file">
+
testsuite/tests/indexed-types/should_fail/HsBootFam_aux.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#0dc72aeefbec2cae1b979ed5832e705aeb4d2b7a" style="color: #1068bf;">
<span class="new-file">
+
testsuite/tests/indexed-types/should_fail/HsBootFam_aux.hs-boot
</span>
</a>
</li>
<li class="file-stats">
<a href="#a7a6800178c5687c8dfce34255cc2d3da5b6a83d" style="color: #1068bf;">
testsuite/tests/indexed-types/should_fail/Overlap3.stderr
</a>
</li>
</ul>
<h5 style="margin-top: 10px; margin-bottom: 10px; font-size: 0.875rem;">
The diff was not included because it is too large.
</h5>

</div>
<div class="footer" style="margin-top: 10px;">
<p style="font-size: small; color: #666;">

<br>
<a href="https://gitlab.haskell.org/ghc/ghc/-/compare/e5b02b841deee5a8275e1897518c69db64aac53e...299d21bbe03d4e054be7702b495f792f99898dfd" style="color: #1068bf;">View it on GitLab</a>.
<br>
You're receiving this email because of your account on <a target="_blank" rel="noopener noreferrer" href="https://gitlab.haskell.org" style="color: #1068bf;">gitlab.haskell.org</a>. <a href="https://gitlab.haskell.org/-/profile/notifications" target="_blank" rel="noopener noreferrer" class="mng-notif-link" style="color: #1068bf;">Manage all notifications</a> · <a href="https://gitlab.haskell.org/help" target="_blank" rel="noopener noreferrer" class="help-link" style="color: #1068bf;">Help</a>



</p>
</div>
</body>
</html>