<!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/T22084
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/48ab9ca5abae82c45495c01e7634ff2a92979346" style="color: #1068bf;">48ab9ca5</a></strong>
<div>
<span>by Nicolas Trangez</span>
<i>at 2022-10-04T20:34:10-04: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;'>chore: extend `.editorconfig` for C files
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/b8df5c72185effbe2cca8d6038d2a356690c9d00" style="color: #1068bf;">b8df5c72</a></strong>
<div>
<span>by Brandon Chinn</span>
<i>at 2022-10-04T20:34:46-04: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;'>Fix docs for pattern synonyms</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/463ffe0287eab354a438304111041ef82d2ed016" style="color: #1068bf;">463ffe02</a></strong>
<div>
<span>by Oleg Grenrus</span>
<i>at 2022-10-04T20:35:24-04: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 sameByteArray# in sameByteArray
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/fbe1e86ea5e793533898d6935a3b4e60afbd04a7" style="color: #1068bf;">fbe1e86e</a></strong>
<div>
<span>by Pierre Le Marre</span>
<i>at 2022-10-05T15:58:43+02: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;'>Minor fixes following Unicode 15.0.0 update
- Fix changelog for Unicode 15.0.0
- Fix the checksums of the downloaded Unicode files, in base's tool: "ucd2haskell".
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/8a31d02e0b76ea0d279f5c6d74239e6aa45ef631" style="color: #1068bf;">8a31d02e</a></strong>
<div>
<span>by Cheng Shao</span>
<i>at 2022-10-05T20:40:41-04: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;'>rts: don't enforce aligned((8)) on 32-bit targets
We simply need to align to the word size for pointer tagging to work. On
32-bit targets, aligned((8)) is wasteful.
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/532de36870ed9e880d5f146a478453701e9db25d" style="color: #1068bf;">532de368</a></strong>
<div>
<span>by Ryan Scott</span>
<i>at 2022-10-06T07:45:46-04: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;'>Export symbolSing, SSymbol, and friends (CLC#85)
This implements this Core Libraries Proposal:
https://github.com/haskell/core-libraries-committee/issues/85
In particular, it:
1. Exposes the `symbolSing` method of `KnownSymbol`,
2. Exports the abstract `SSymbol` type used in `symbolSing`, and
3. Defines an API for interacting with `SSymbol`.
This also makes corresponding changes for `natSing`/`KnownNat`/`SNat` and
`charSing`/`KnownChar`/`SChar`. This fixes #15183 and addresses part (2)
of #21568.
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/d83a92e6b3ac4609fe0e1159ced59f12dcf622bc" style="color: #1068bf;">d83a92e6</a></strong>
<div>
<span>by sheaf</span>
<i>at 2022-10-07T07:36:30-04: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;'>Remove mention of make from README.md
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/5b1c1381726423873b14f029c0899351890dc456" style="color: #1068bf;">5b1c1381</a></strong>
<div>
<span>by Simon Peyton Jones</span>
<i>at 2022-10-10T13:44:40+01: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;'>Don't keep exit join points so much
We were religiously keeping exit join points throughout, which
had some bad effects (#21148, #22084).
This MR does two things:
* Arranges that exit join points are inhibited from inlining
only in /one/ Simplifier pass (right after Exitification).
See Note [Be selective about not-inlining exit join points]
in GHC.Core.Opt.Exitify
It's not a big deal, but it shaves 0.1% off compile times.
* Inline used-once non-recursive join points very aggressively
Given join j x = rhs in
joinrec k y = ....j x....
where this is the only occurrence of `j`, we want to inline `j`.
(Unless sm_keep_exits is on.)
See Note [Inline used-once non-recursive join points] in
GHC.Core.Opt.Simplify.Utils
This is just a tidy-up really. It doesn't change allocation, but
getting rid of a binding is always good.
Very effect on nofib -- some up and down.
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/0f74e32997446f7492a4a68bb5ebb341736d0446" style="color: #1068bf;">0f74e329</a></strong>
<div>
<span>by Simon Peyton Jones</span>
<i>at 2022-10-10T13:46:19+01: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;'>Make SpecConstr bale out less often
When doing performance debugging on #22084 / !8901, I found that the
algorithm in SpecConstr.decreaseSpecCount was so aggressive that if
there were /more/ specialisations available for an outer function,
that could more or less kill off specialisation for an /inner/
function. (An example was in nofib/spectral/fibheaps.)
This patch makes it a bit more aggressive, by dividing by 2, rather
than by the number of outer specialisations.
</pre>
</li>
</ul>
<h4 style="margin-top: 10px; margin-bottom: 10px;">30 changed files:</h4>
<ul>
<li class="file-stats">
<a href="#626a747c8694eaae66f2afb3d1a745b045782c70" style="color: #1068bf;">
.editorconfig
</a>
</li>
<li class="file-stats">
<a href="#8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d" style="color: #1068bf;">
README.md
</a>
</li>
<li class="file-stats">
<a href="#1b8c4a0d06e2de704f7d040a0a715345e0c3c78c" style="color: #1068bf;">
compiler/GHC/Core/Opt/Exitify.hs
</a>
</li>
<li class="file-stats">
<a href="#bd153f89bc48f3fd5079b51fb799808aacbd750c" style="color: #1068bf;">
compiler/GHC/Core/Opt/Pipeline.hs
</a>
</li>
<li class="file-stats">
<a href="#2f46b19cb85e3f7b4e72305644bc50015628c41d" style="color: #1068bf;">
compiler/GHC/Core/Opt/Simplify/Env.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="#b6a5ba32bafb8fbda933538b3007e755fef6f101" style="color: #1068bf;">
compiler/GHC/Core/Opt/SpecConstr.hs
</a>
</li>
<li class="file-stats">
<a href="#d770db136b84c5655fedd78a1913ff7cd70f47fc" style="color: #1068bf;">
compiler/GHC/Driver/Config/Core/Opt/Simplify.hs
</a>
</li>
<li class="file-stats">
<a href="#aebe2c3d616f6843166d2657bed048898add6bc9" style="color: #1068bf;">
compiler/GHC/Tc/Instance/Class.hs
</a>
</li>
<li class="file-stats">
<a href="#093cf1ab10ea2bac043566f4a5e4a1c4a1eaf5e6" style="color: #1068bf;">
docs/users_guide/9.6.1-notes.rst
</a>
</li>
<li class="file-stats">
<a href="#4889f69b85184de1c7efb5be8943b9e6d741dc27" style="color: #1068bf;">
docs/users_guide/exts/pattern_synonyms.rst
</a>
</li>
<li class="file-stats">
<a href="#bfe4012b965aecec838b0c7a99b46541b855be1b" style="color: #1068bf;">
libraries/base/Data/Array/Byte.hs
</a>
</li>
<li class="file-stats">
<a href="#92fed88efc6a2e0461a84dd0d0f0bfb89bdbc799" style="color: #1068bf;">
libraries/base/GHC/TypeLits.hs
</a>
</li>
<li class="file-stats">
<a href="#613eb2a1c706c7ea57be637d2c8ed135d1d2af29" style="color: #1068bf;">
libraries/base/GHC/TypeNats.hs
</a>
</li>
<li class="file-stats">
<a href="#392e9dfd3417e267d708c5ab16536f2994d43745" style="color: #1068bf;">
libraries/base/changelog.md
</a>
</li>
<li class="file-stats">
<a href="#33ddb714ab7bc8733a27767a897837eaa2fa3fba" style="color: #1068bf;">
<span class="new-file">
+
libraries/base/tests/T15183.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#8b01cf0846e216024f1f1f29cc602cc38aeb93c9" style="color: #1068bf;">
<span class="new-file">
+
libraries/base/tests/T15183.stdout
</span>
</a>
</li>
<li class="file-stats">
<a href="#b817c80cbb15890d9a6df41e91d15d7442471f3c" style="color: #1068bf;">
libraries/base/tests/all.T
</a>
</li>
<li class="file-stats">
<a href="#f368ae4132fd1e480c32b3a47bcd19c774b2521f" style="color: #1068bf;">
libraries/base/tools/ucd2haskell/ucd.sh
</a>
</li>
<li class="file-stats">
<a href="#10df545cb7baf4c8db3c84d3ea8ab6acaf31a216" style="color: #1068bf;">
rts/include/Stg.h
</a>
</li>
<li class="file-stats">
<a href="#750fd012f5322017f86ed30c081eedb7135c67bf" style="color: #1068bf;">
testsuite/tests/dependent/should_compile/RaeJobTalk.hs
</a>
</li>
<li class="file-stats">
<a href="#6f953b2c515b50c441e0344393c87c9258949516" style="color: #1068bf;">
testsuite/tests/ghci/scripts/T19667Ghci.hs
</a>
</li>
<li class="file-stats">
<a href="#8da75825433bf887a762deedc637b1c15b637d5d" style="color: #1068bf;">
testsuite/tests/ghci/scripts/T4175.stdout
</a>
</li>
<li class="file-stats">
<a href="#591ccaad6cc5f2544a9a61bad46cb0dde9ef998c" style="color: #1068bf;">
testsuite/tests/ghci/scripts/T9181.stdout
</a>
</li>
<li class="file-stats">
<a href="#66b3bcd5fea6555891592d68b8ebbba3fb839816" style="color: #1068bf;">
testsuite/tests/ghci/scripts/ghci064.stdout
</a>
</li>
<li class="file-stats">
<a href="#895a41e5a430d4cd0f4c34b5967870c750b5958f" style="color: #1068bf;">
<span class="new-file">
+
testsuite/tests/simplCore/should_compile/T21148.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#710630ef25c9a4c9f6d5656d9516265ef16434a9" style="color: #1068bf;">
<span class="new-file">
+
testsuite/tests/simplCore/should_compile/T21148.stderr
</span>
</a>
</li>
<li class="file-stats">
<a href="#fc07c260b75644727a8cdc1af5c861a44d4bfb5e" style="color: #1068bf;">
testsuite/tests/simplCore/should_compile/all.T
</a>
</li>
<li class="file-stats">
<a href="#ccf82aa332070649f5b5c55c0ebf3c53a9694ad5" style="color: #1068bf;">
testsuite/tests/stranal/should_compile/T21128.hs
</a>
</li>
<li class="file-stats">
<a href="#89514eed08f8fa6ea22c080976c3ac83b646fe8c" style="color: #1068bf;">
testsuite/tests/stranal/should_compile/T21128.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/cd65da060f00bd74351e6324ddf567f19e31def4...0f74e32997446f7492a4a68bb5ebb341736d0446" 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>