<!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;">
Matthew Pickering pushed to branch wip/int-index/type-abs-flag 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/d53f6f4d98aabd6f5b28fb110db1da0f6db70a06" style="color: #1068bf;">d53f6f4d</a></strong>
<div>
<span> by Oleg Grenrus </span> <i> at 2023-01-09T21:11:02-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;'>Add safe list indexing operator: !?

With Joachim's amendments.

Implements https://github.com/haskell/core-libraries-committee/issues/110
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/cfaf1ad7d4f75fc3f04090a17cc675d0e54e8e55" style="color: #1068bf;">cfaf1ad7</a></strong>
<div>
<span> by Nicolas Trangez </span> <i> at 2023-01-09T21:11:03-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;'>rts, tests: limit thread name length to 15 bytes

On Linux, `pthread_setname_np` (or rather, the kernel) only allows for
thread names up to 16 bytes, including the terminating null byte.

This commit adds a note pointing this out in `createOSThread`, and fixes
up two instances where a thread name of more than 15 characters long was
used (in the RTS, and in a test-case).

Fixes: #22366
Fixes: https://gitlab.haskell.org/ghc/ghc/-/issues/22366
See: https://gitlab.haskell.org/ghc/ghc/-/issues/22366#note_460796
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/64286132cc0db4e227637887f98f5a3ecf7d326a" style="color: #1068bf;">64286132</a></strong>
<div>
<span> by Matthew Pickering </span> <i> at 2023-01-09T21:11:03-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;'>Store bootstrap_llvm_target and use it to set LlvmTarget in bindists

This mirrors some existing logic for the bootstrap_target which
influences how TargetPlatform is set.

As described on #21970 not storing this led to `LlvmTarget` being set incorrectly
and hence the wrong `--target` flag being passed to the C compiler.

Towards #21970
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/4724e8d1a66fa0a821d322d9d2d90db7d7604916" style="color: #1068bf;">4724e8d1</a></strong>
<div>
<span> by Matthew Pickering </span> <i> at 2023-01-09T21:11:04-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;'>Check for FP_LD_NO_FIXUP_CHAINS in installation configure script

Otherwise, when installing from a bindist the C flag isn't passed to the
C compiler.

This completes the fix for #22429
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/2e926b887067aacb866740a878dc386ab74713da" style="color: #1068bf;">2e926b88</a></strong>
<div>
<span> by Georgi Lyubenov </span> <i> at 2023-01-09T21:11:07-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;'>Fix outdated link to Happy section on sequences
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/146a145835f5c2e82da4dd0bcb90702460505a01" style="color: #1068bf;">146a1458</a></strong>
<div>
<span> by Matthew Pickering </span> <i> at 2023-01-09T21:11:07-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;'>Revert "NCG(x86): Compile add+shift as lea if possible."

This reverts commit 20457d775885d6c3df020d204da9a7acfb3c2e5a.

See #22666 and #21777
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/9020062fc21a2fc598d14d7d011f216fd81073d3" style="color: #1068bf;">9020062f</a></strong>
<div>
<span> by Vladislav Zavialov </span> <i> at 2023-01-10T08:04:31+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;'>Introduce the TypeAbstractions language flag

GHC Proposals #448 "Modern scoped type variables"
and #425 "Invisible binders in type declarations"
introduce a new language extension flag: TypeAbstractions.

Part of the functionality guarded by this flag has already been
implemented, namely type abstractions in constructor patterns, but it
was guarded by a combination of TypeApplications and ScopedTypeVariables
instead of a dedicated language extension flag.

This patch does the following:

* introduces a new language extension flag TypeAbstractions
* requires TypeAbstractions for @a-syntax in constructor patterns
  instead of TypeApplications and ScopedTypeVariables
* creates a User's Guide page for TypeAbstractions and
  moves the "Type Applications in Patterns" section there

To avoid a breaking change, the new flag is implied by
ScopedTypeVariables and is retroactively added to GHC2021.
</pre>
</li>
</ul>
<h4 style="margin-top: 10px; margin-bottom: 10px;">
30 changed files:
</h4>
<ul>
<li class="file-stats">
<a href="#2bae5947e9412f6deebf4db7dcb89d780913130f" style="color: #1068bf;">
compiler/GHC/CmmToAsm/X86/CodeGen.hs
</a>
</li>
<li class="file-stats">
<a href="#774d88050336ef660c7a219fb06c480c2fc639bc" style="color: #1068bf;">
compiler/GHC/Driver/Session.hs
</a>
</li>
<li class="file-stats">
<a href="#bf951467d4a9aa443cb109cb4c84a2891945649b" style="color: #1068bf;">
compiler/GHC/Parser.y
</a>
</li>
<li class="file-stats">
<a href="#cfa41b5649933e5b12f7796e9d49b9dd6a0bc59f" style="color: #1068bf;">
compiler/GHC/Rename/Pat.hs
</a>
</li>
<li class="file-stats">
<a href="#87db583be5c13c1f7b3c958b10e03d67b6a2ca06" style="color: #1068bf;">
configure.ac
</a>
</li>
<li class="file-stats">
<a href="#1e2eab751970e05b4edec9b2fe1a0549ae3f411f" style="color: #1068bf;">
distrib/configure.ac.in
</a>
</li>
<li class="file-stats">
<a href="#b26dc8b26d87b9a5d86567622e7451c78658a035" style="color: #1068bf;">
docs/users_guide/exts/gadt.rst
</a>
</li>
<li class="file-stats">
<a href="#e1fda7a47737ee512bcbf1b5941aa3474719cae5" style="color: #1068bf;">
<span class="new-file">
+
docs/users_guide/exts/type_abstractions.rst
</span>
</a>
</li>
<li class="file-stats">
<a href="#8c04ae62547f5d5061b0b883fa187284074934e3" style="color: #1068bf;">
docs/users_guide/exts/type_applications.rst
</a>
</li>
<li class="file-stats">
<a href="#6d1fca171c6a03160a926c81f0da9d21b40ff046" style="color: #1068bf;">
docs/users_guide/exts/types.rst
</a>
</li>
<li class="file-stats">
<a href="#5bfb9bbb804f207b3a86bd94180c46b54cf38854" style="color: #1068bf;">
libraries/base/Data/List.hs
</a>
</li>
<li class="file-stats">
<a href="#5fbb1164b5c674e4253da7e91b14facf09746bbd" style="color: #1068bf;">
libraries/base/Data/OldList.hs
</a>
</li>
<li class="file-stats">
<a href="#acecd3813d90e82d1b376f7d6b9171838680d185" style="color: #1068bf;">
libraries/base/GHC/List.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="#3f7d85c388596f9ef50f1a3e0334bdb67007e969" style="color: #1068bf;">
libraries/ghc-boot-th/GHC/LanguageExtensions/Type.hs
</a>
</li>
<li class="file-stats">
<a href="#7f25d86286f837da297b371a1c9b251aca9d04d7" style="color: #1068bf;">
m4/ghc_llvm_target.m4
</a>
</li>
<li class="file-stats">
<a href="#cc73d9e9eaa9bba27d82a52a4c9ad6e125643836" style="color: #1068bf;">
rts/posix/OSThreads.c
</a>
</li>
<li class="file-stats">
<a href="#b4a38dad10ba126e05a0b6adc99aa0c2eb742875" style="color: #1068bf;">
rts/sm/NonMoving.c
</a>
</li>
<li class="file-stats">
<a href="#bc28bd033fae1a05637ef3448d48011da2cacdf4" style="color: #1068bf;">
<span class="deleted-file">

testsuite/tests/codeGen/should_gen_asm/AddMulX86.asm
</span>
</a>
</li>
<li class="file-stats">
<a href="#ad31c7918fd68d75b787094f62c21b8d188b4f38" style="color: #1068bf;">
<span class="deleted-file">

testsuite/tests/codeGen/should_gen_asm/AddMulX86.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#47a3b36acbc6601cd2d1c201a9406fcb8d08d34c" style="color: #1068bf;">
testsuite/tests/codeGen/should_gen_asm/all.T
</a>
</li>
<li class="file-stats">
<a href="#9f7a74d3512ab004425ec39cbbcb9737e2ecaa82" style="color: #1068bf;">
testsuite/tests/driver/T4437.hs
</a>
</li>
<li class="file-stats">
<a href="#12135700249ab8b9aed1a10cba232a28aa8a49db" style="color: #1068bf;">
testsuite/tests/rts/pause-resume/pause_resume.c
</a>
</li>
<li class="file-stats">
<a href="#705b8be18c626f3ebe2ae89293ff2694d44af09e" style="color: #1068bf;">
testsuite/tests/showIface/DocsInHiFile1.stdout
</a>
</li>
<li class="file-stats">
<a href="#9dfbee3365f354e1eefb326299406a6ee60da5f5" style="color: #1068bf;">
testsuite/tests/showIface/DocsInHiFileTH.stdout
</a>
</li>
<li class="file-stats">
<a href="#cc78ebcdf00ec29b9510f2700ea1450bcbf032bd" style="color: #1068bf;">
testsuite/tests/showIface/HaddockIssue849.stdout
</a>
</li>
<li class="file-stats">
<a href="#5755888827263a890dee04e48e266d2d846caefa" style="color: #1068bf;">
testsuite/tests/showIface/HaddockOpts.stdout
</a>
</li>
<li class="file-stats">
<a href="#da6297c7288744162560b274d808df9764551e0f" style="color: #1068bf;">
testsuite/tests/showIface/MagicHashInHaddocks.stdout
</a>
</li>
<li class="file-stats">
<a href="#a76713b52b72c4be79e2e181e6ba987874800a24" style="color: #1068bf;">
testsuite/tests/showIface/NoExportList.stdout
</a>
</li>
<li class="file-stats">
<a href="#1b986046f3859f4a2177fb3adae88dd6d9e9fecc" style="color: #1068bf;">
testsuite/tests/showIface/PragmaDocs.stdout
</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/449b89e4529416efc24cefdd5c7f12be4a60d688...9020062fc21a2fc598d14d7d011f216fd81073d3" 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>