<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en" style='--code-editor-font: var(--default-mono-font, "GitLab Mono"), JetBrains Mono, Menlo, DejaVu Sans Mono, Liberation Mono, Consolas, Ubuntu Mono, Courier New, andale mono, lucida console, monospace;'>
<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: var(--default-regular-font, "GitLab Sans"),-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: var(--default-regular-font, "GitLab Sans"),-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;">
Marge Bot pushed to branch wip/marge_bot_batch_merge_job at <a href="https://gitlab.haskell.org/ghc/ghc">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/7bb7e437258536c9b41358f279def286e1ff3f07">7bb7e437</a></strong>
<div>
<span> by Andreas Klebinger </span> <i> at 2024-06-26T14:09:23-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #333238; position: relative; font-family: var(--default-mono-font, "GitLab Mono"),"JetBrains Mono","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: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>GHCi interpreter: Tag constructor closures when possible.

When evaluating PUSH_G try to tag the reference we are pushing if it's a
constructor. This is potentially helpful for performance and required to
fix #24870.
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/038d8b176ba233ba81cf3767a2ee22dc2381ecdb">038d8b17</a></strong>
<div>
<span> by Andrew Lelechenko </span> <i> at 2024-06-26T14:09:24-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #333238; position: relative; font-family: var(--default-mono-font, "GitLab Mono"),"JetBrains Mono","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: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Implement Data.List.compareLength and Data.List.NonEmpty.compareLength

`compareLength xs n` is a safer and faster alternative to `compare (length xs) n`.
The latter would force and traverse the entire spine (potentially diverging),
while the former traverses as few elements as possible.

The implementation is carefully designed to maintain as much laziness as possible.

As per https://github.com/haskell/core-libraries-committee/issues/257
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/9bd9fdb250b12b9744536e615a93007950516078">9bd9fdb2</a></strong>
<div>
<span> by Serge S. Gulin </span> <i> at 2024-06-26T14:09:24-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #333238; position: relative; font-family: var(--default-mono-font, "GitLab Mono"),"JetBrains Mono","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: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Unicode: adding compact version of GeneralCategory (resolves #24789)

The following features are applied:
1. Lookup code like Cmm-switches (draft implementation proposed by Sylvain Henry @hsyl20)
2. Nested ifs (logarithmic search vs linear search) (the idea proposed by Sylvain Henry @hsyl20)

-------------------------
Metric Decrease:
    size_hello_artifact
    size_hello_unicode
-------------------------
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/ca1113f94343c9ee44189d524ed05ec2738b3fab">ca1113f9</a></strong>
<div>
<span> by Hécate Kleidukos </span> <i> at 2024-06-26T14:09:29-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #333238; position: relative; font-family: var(--default-mono-font, "GitLab Mono"),"JetBrains Mono","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: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>haddock: Restructure import statements

This commit removes idiosyncrasies that have accumulated with the years
in how import statements were laid out, and defines clear but simple
guidelines in the CONTRIBUTING.md file.
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/f4dd5f2df6c7e6b84514421896c001c92cf7a13d">f4dd5f2d</a></strong>
<div>
<span> by Arnaud Spiwack </span> <i> at 2024-06-26T14:09:42-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #333238; position: relative; font-family: var(--default-mono-font, "GitLab Mono"),"JetBrains Mono","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: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Rename test for #24725

I must have fumbled my tabs when I copy/pasted the issue number in
8c87d4e1136ae6d28e92b8af31d78ed66224ee16.
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/188c21c0dd13c9206524878b7e2f234647426ee9">188c21c0</a></strong>
<div>
<span> by Arnaud Spiwack </span> <i> at 2024-06-26T14:09:42-04:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #333238; position: relative; font-family: var(--default-mono-font, "GitLab Mono"),"JetBrains Mono","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: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Add original reproducer for #24725
</pre>
</li>
</ul>
<h4 style="margin-top: 10px; margin-bottom: 10px;">
30 changed files:
</h4>
<ul>
<li class="file-stats">
<a href="#073b107caa98ea426694eacd6c08b492801a51a0">
compiler/GHC/ByteCode/Instr.hs
</a>
</li>
<li class="file-stats">
<a href="#392e9dfd3417e267d708c5ab16536f2994d43745">
libraries/base/changelog.md
</a>
</li>
<li class="file-stats">
<a href="#fcdbc08115773466d52058f65c399e106e5e7410">
libraries/base/src/Data/List.hs
</a>
</li>
<li class="file-stats">
<a href="#bb99dcdd1145e72572944a803ab3b333da8a2489">
libraries/base/src/Data/List/NonEmpty.hs
</a>
</li>
<li class="file-stats">
<a href="#9f28f24989e531a0914ee444f3b127c38df09ca3">
libraries/ghc-internal/src/GHC/Internal/Unicode/Bits.hs
</a>
</li>
<li class="file-stats">
<a href="#47a32fa60b63abac6a7e93007b5e5062e5a1d236">
libraries/ghc-internal/src/GHC/Internal/Unicode/Char/UnicodeData/GeneralCategory.hs
</a>
</li>
<li class="file-stats">
<a href="#17509d6f7f5da770f67271d27c83afd4445562c4">
<span class="new-file">
+
libraries/ghc-internal/tools/ucd2haskell/exe/Generator/ByteString.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#9ce5ca8b1bc5798c5916f6b3fc6dfac70dc036b1">
<span class="new-file">
+
libraries/ghc-internal/tools/ucd2haskell/exe/Generator/GeneralCategory.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#4a68824ce1ef3b8d1c0c1d79d5f64e952b761fa1">
<span class="new-file">
+
libraries/ghc-internal/tools/ucd2haskell/exe/Generator/RangeSwitch.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#d06b2b4f361fe4c334bb739755bdd796883e00e5">
<span class="new-file">
+
libraries/ghc-internal/tools/ucd2haskell/exe/Generator/WordEncoding.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#464657e8f89e51202c788c355424ccfcb6710d51">
libraries/ghc-internal/tools/ucd2haskell/exe/UCD2Haskell/ModuleGenerators.hs
</a>
</li>
<li class="file-stats">
<a href="#8045e03372f2ea7a6ef4e5c5d3c91c016208434c">
libraries/ghc-internal/tools/ucd2haskell/ucd2haskell.cabal
</a>
</li>
<li class="file-stats">
<a href="#539d43389593f2626a387f2c904f03c215c7c802">
rts/Interpreter.c
</a>
</li>
<li class="file-stats">
<a href="#2ca7b1d6bb24cd05ca30a428efb924268c8dbc51">
testsuite/tests/interface-stability/base-exports.stdout
</a>
</li>
<li class="file-stats">
<a href="#482ce10224feee28cb25df69f2be2fd845ccb44d">
testsuite/tests/interface-stability/base-exports.stdout-javascript-unknown-ghcjs
</a>
</li>
<li class="file-stats">
<a href="#0c9107f6ffbb0ee70fe83374d94d1734a3bac3cb">
testsuite/tests/interface-stability/base-exports.stdout-mingw32
</a>
</li>
<li class="file-stats">
<a href="#e9c4dd54adbea818aa90a241f5325670bb349d53">
testsuite/tests/interface-stability/base-exports.stdout-ws-32
</a>
</li>
<li class="file-stats">
<a href="#0059d96f175a3ec796712f8b5472ce7de237ed98">
<span class="new-file">
+
testsuite/tests/lib/base/CompareLength.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#e587753cd840992f3167c982213edb38933a2f19">
<span class="new-file">
+
testsuite/tests/lib/base/CompareLength.stdout
</span>
</a>
</li>
<li class="file-stats">
<a href="#843478b372c0e6e4772b2314a249c032eb46aac6">
testsuite/tests/lib/base/Unsnoc.hs
</a>
</li>
<li class="file-stats">
<a href="#6768ae9c3242f1433caa2aef60d03c99323d8112">
testsuite/tests/lib/base/all.T
</a>
</li>
<li class="file-stats">
<a href="#b63a6e342075536c16b459b224c8da1c86761eff">
<span class="new-file">
+
testsuite/tests/simplCore/should_compile/T24725a.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#71c022aec68629bbbce585fd0cdf593be4956884">
<span class="new-file">
+
testsuite/tests/simplCore/should_compile/T24725a.stderr
</span>
</a>
</li>
<li class="file-stats">
<a href="#fc07c260b75644727a8cdc1af5c861a44d4bfb5e">
testsuite/tests/simplCore/should_compile/all.T
</a>
</li>
<li class="file-stats">
<a href="#0d1ae3b70c93270d3032b4992917830ebfa88664">
testsuite/tests/simplCore/should_run/T23586.hs

testsuite/tests/simplCore/should_run/T24725.hs
</a>
</li>
<li class="file-stats">
<a href="#a6b994f469b038d250b5de677d02964043694fe9">
testsuite/tests/simplCore/should_run/T23586.stdout

testsuite/tests/simplCore/should_run/T24725.stdout
</a>
</li>
<li class="file-stats">
<a href="#03e40b9006a3cfc01e112fe32513b15c8634f9bc">
testsuite/tests/simplCore/should_run/all.T
</a>
</li>
<li class="file-stats">
<a href="#1c6c09bcbc7cc72a4ddeae5e6ec5bbe4f61c766a">
<span class="new-file">
+
testsuite/tests/th/should_compile/T24870/Def.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#3dde64cd3cd790cefeab2c8e8ff2fef522b4e4dd">
<span class="new-file">
+
testsuite/tests/th/should_compile/T24870/Use.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#ff87450d2c103f721abacc8a2b791969bb4a979c">
<span class="new-file">
+
testsuite/tests/th/should_compile/T24870/all.T
</span>
</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: #737278;">

<br>
<a href="https://gitlab.haskell.org/ghc/ghc/-/compare/6db19b390ec82ad170aa8b8e51102daf31b5b3ea...188c21c0dd13c9206524878b7e2f234647426ee9">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">gitlab.haskell.org</a>. <a href="https://gitlab.haskell.org/-/profile/notifications" target="_blank" rel="noopener noreferrer" class="mng-notif-link">Manage all notifications</a> · <a href="https://gitlab.haskell.org/help" target="_blank" rel="noopener noreferrer" class="help-link">Help</a>



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