<!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>img {
max-width: 100%; height: auto;
}
</style>
</head>
<body>
<div class="content">

<h3>
Sebastian Graf pushed to branch wip/nested-cpr-2019
at <a href="https://gitlab.haskell.org/ghc/ghc">Glasgow Haskell Compiler / GHC</a>
</h3>
<h4>
Commits:
</h4>
<ul>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/013d71204be44d660f01f8eb255db2d48b832421">013d7120</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-05-25T09:48:17-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Revert "Specify kind variables for inferred kinds in base."

As noted in !3132, this has rather severe knock-on consequences in
user-code. We'll need to revisit this before merging something along
these lines.

This reverts commit 9749fe1223d182b1f8e7e4f7378df661c509f396.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/4c4312edd988b8aeeb65e095056743c30678df15">4c4312ed</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-05-25T09:48:53-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Coverage: Drop redundant ad-hoc boot module check

To determine whether the module is a boot module
Coverage.addTicksToBinds was checking for a `boot` suffix in the module
source filename. This is quite ad-hoc and shouldn't be necessary; the
callsite in `deSugar` already checks that the module isn't a boot
module.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/1abf3c844821c98dad7f6f5b23cc3f7889dce64c">1abf3c84</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-05-25T09:48:53-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Coverage: Make tickBoxCount strict

This could otherwise easily cause a leak of (+) thunks.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/b28137505a2fc3a15f2c0ba31c39c1869ce65cdc">b2813750</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-05-25T09:48:53-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Coverage: Make ccIndices strict

This just seems like a good idea.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/02e278eb2ace60cf2acadd2f632b51b9017d5b56">02e278eb</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-05-25T09:48:53-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Coverage: Don't produce ModBreaks if not HscInterpreted

emptyModBreaks contains a bottom and consequently it's important that we
don't use it unless necessary.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/b8c014ce27c279e0d506d5391a4e9bfa7f1c31f2">b8c014ce</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-05-25T09:48:53-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Coverage: Factor out addMixEntry
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/53814a6424240ab50201fdde81a6e7832c1aad3d">53814a64</a></strong>
<div>
<span>by Zubin Duggal</span>
<i>at 2020-05-26T03:03:24-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add info about typeclass evidence to .hie files

See `testsuite/tests/hiefile/should_run/HieQueries.hs` and
`testsuite/tests/hiefile/should_run/HieQueries.stdout` for an example of this

We add two new fields, `EvidenceVarBind` and `EvidenceVarUse` to the
`ContextInfo` associated with an Identifier. These are associated with the
appropriate identifiers for the evidence variables collected when we come across
`HsWrappers`, `TcEvBinds` and `IPBinds` while traversing the AST.

Instance dictionary and superclass selector dictionaries from `tcg_insts` and
classes defined in `tcg_tcs` are also recorded in the AST as originating from
their definition span

This allows us to save a complete picture of the evidence constructed by the
constraint solver, and will let us report this to the user, enabling features
like going to the instance definition from the invocation of a class method(or
any other method taking a constraint) and finding all usages of a particular
instance.

Additionally,

- Mark NodeInfo with an origin so we can differentiate between bindings
  origininating in the source vs those in ghc
- Along with typeclass evidence info, also include information on Implicit
  Parameters
- Add a few utility functions to HieUtils in order to query the new info

Updates haddock submodule
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/6604906c8cfa37f5780a6d5c40506b751b1740db">6604906c</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-05-26T03:04:04-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Make WorkWrap.Lib.isWorkerSmallEnough aware of the old arity

We should allow a wrapper with up to 82 parameters when the original
function had 82 parameters to begin with.

I verified that this made no difference on NoFib, but then again
it doesn't use huge records...

Fixes #18122.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/cf772f19c06944f0fd03b4bdcd4a49e437084ba5">cf772f19</a></strong>
<div>
<span>by Sylvain Henry</span>
<i>at 2020-05-26T03:04:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Enhance Note [About units] for Backpack
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/0baa1b6834c172ef55558cde57492ddc35c9d2cf">0baa1b68</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-05-26T13:41:42+02:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Nested CPR
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/b1d3e5bf61025e702f8d9c32c7b184f79a129a0c">b1d3e5bf</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-05-26T13:41:42+02:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Move tests from stranal to cpranal
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/00a5eaff99a8abc1799f82cbd19979f34b0c20f5">00a5eaff</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-05-26T13:41:42+02:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Accept FacState
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/8999468cc25fd2ea466080a0607b557d20145d52">8999468c</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-05-26T13:41:42+02:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Factor Cpr and Termination into a joint lattice

As a result, we don't even have to export Termination from Cpr. Neat!

Also I realised there is a simpler and more sound way to generate and
unleash CPR signatures.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/b796c131f0f9b4f606a89e43c516feafbb4c3808">b796c131</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-05-26T13:41:42+02:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Consider unboxing effects of WW better and get rid of hack
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/3dad9697e7b5eb9dc25695b597d6bbe4fc4ff7d2">3dad9697</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-05-26T13:41:42+02:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">stuff
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/5fedeafa46aebe6c780d70c66fb46974169eeab4">5fedeafa</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-05-26T13:41:42+02:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Debug output
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/ed8a958a1065faa6bac74debdfb7b6081c779533">ed8a958a</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-05-26T13:41:42+02:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">A slew of testsuite changes
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/f4cbdbb40479c7624e178a72d1b268d1c1d5cbfe">f4cbdbb4</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-05-26T13:41:42+02:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix T1600
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/cc7a7d00a136c8537e96035c5942502d825fffb4">cc7a7d00</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-05-26T13:41:42+02:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Inline `decodeDoubleInteger` and constant-fold `decodeDouble_Int64#` instead

Currently, `decodeDoubleInteger` is known-key so that it can be
recognised in constant folding. But that is very brittle and doesn't
survive worker/wrapper, which we even do for
`NOINLINE`/`CONSTANT_FOLDED` things since #13143.
Also it is a trade-off: The implementation of `decodeDoubleInteger`
allocates an `Integer` box that never cancels aways if we don't inline
it.

Hence we recognise the `decodeDouble_Int64#` primop instead in constant
folding, so that we can inline `decodeDoubleInteger`.

You may wonder how this affects performance of code using
`integer-simple`; Apparently, according to @hsyl20 this is not a concern
since we will hopefully land !2231 soon.

Fixes #18092.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/2ed3162b4944b981c72668df38f8f9ec0f21c123">2ed3162b</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-05-26T13:41:42+02:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix primop termination
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/ff024fbd4012848b98569b8b48a43a926356f445">ff024fbd</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-05-26T13:41:42+02:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Test for DataCon wrapper CPR
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/ee6d3cf87457969f0024cf36e9083d05db24f509">ee6d3cf8</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-05-26T13:41:42+02:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix CPR of bottoming functions/primops
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/c7048a241a4653253609993180200966f05d66d8">c7048a24</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-05-26T13:41:42+02:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix DataConWrapperCpr and accept other test outputs
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/0372f4cee61f6967d9724084a13639d87e6fb4bc">0372f4ce</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-05-26T13:41:42+02:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Accept two more changed test outputs
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/beaf2d7e5c646e97b13551757343e5fb396883cb">beaf2d7e</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-05-26T13:41:42+02:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Update CaseBinderCPR with a new function
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/c6e512afca1573f638c505768ff025718cecb3d1">c6e512af</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-05-26T13:41:42+02:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Don't give the case binder the CPR property
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/fcf53cc6356a67c6b5002313a4d4a3b9ac1bba73">fcf53cc6</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-05-26T13:41:42+02:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Prune CPR sigs to constant depth on all bindings
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/943183a6d7e853b69b2e1cb7dc3affdfd1b6a578">943183a6</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-05-26T13:41:42+02:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Use variable length coding for ConTags
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/2df33d63627b91026aa2622c859a92bfacb185d9">2df33d63</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-05-26T13:41:42+02:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Accept testuite output
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/1dd01bfe30be66bf0d88d5cccffd9ad4f223e9a5">1dd01bfe</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-05-26T13:41:42+02:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Don't attach CPR sigs to expandable bindings; transform their unfoldings instead
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/47bb131dfb8332088f0748e442be11815559980f">47bb131d</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-05-26T13:41:42+02:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Revert "Don't give the case binder the CPR property"

This reverts commit 910edd76d5fe68b58c74f3805112f9faef4f2788.

It seems we broke too much with this change. We lost our big win in
`fish`.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/6f6ed3bc591ad964782a3c41a8e3763abfe87c25">6f6ed3bc</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-05-26T13:41:42+02:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">A more modular and configurable approach to optimistic case binder CPR
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/fe7bf0f3d421ffb107a8cb741a1d4d651345931a">fe7bf0f3</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-05-26T13:41:42+02:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix T9291
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/70675708196675e70a3ac58d487bfb69ad91612a">70675708</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-05-26T13:41:42+02:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Document -fcase-binder-cpr-depth in the user's guide
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/9a32028983e1e5c952a0b183b2884b40365fa803">9a320289</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-05-26T13:41:42+02:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Rebase woes
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/acb6be14958fc1585afcbaccf623a2763a4283ae">acb6be14</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-05-26T13:41:42+02:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Testsuite changes
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/b045dd0515879728a5f21545f16b51d9014b3da4">b045dd05</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-05-26T13:41:42+02:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Refactoring around cprAnalBind
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/a324360bdcc55e8825f04425969fd2d4b1c501df">a324360b</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-05-26T13:41:42+02:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix case binder CPR by not looking into unfoldings of case binders
</pre>
</li>
</ul>
<h4>25 changed files:</h4>
<ul>
<li class="file-stats">
<a href="#35cff95f9f44690fc50b44bbe8ac3c554c7d5a5e">
compiler/GHC/Core/Make.hs
</a>
</li>
<li class="file-stats">
<a href="#c3967bb9d3e8f5aae2dd111b5a335b48c21c1999">
compiler/GHC/Core/Opt/Arity.hs
</a>
</li>
<li class="file-stats">
<a href="#aa79261abf782f3dc603af7fbd5c4b08ed3ddb88">
compiler/GHC/Core/Opt/ConstantFold.hs
</a>
</li>
<li class="file-stats">
<a href="#c1bf6b849619bc8d7ef37a97d993dbfaa9966f7b">
compiler/GHC/Core/Opt/CprAnal.hs
</a>
</li>
<li class="file-stats">
<a href="#cc763cdd1967f5d921161a32f64136cfcf0332c5">
compiler/GHC/Core/Opt/SetLevels.hs
</a>
</li>
<li class="file-stats">
<a href="#f168a93cde5e2aec2441d6331dfe500172df4af3">
compiler/GHC/Core/Opt/Simplify.hs
</a>
</li>
<li class="file-stats">
<a href="#b6a5ba32bafb8fbda933538b3007e755fef6f101">
compiler/GHC/Core/Opt/SpecConstr.hs
</a>
</li>
<li class="file-stats">
<a href="#5b215b0e109123e4bef5434854f18e2f61c45b88">
compiler/GHC/Core/Opt/WorkWrap.hs
</a>
</li>
<li class="file-stats">
<a href="#f4421b4e35592648510c877ecf55b1af2b96dcee">
compiler/GHC/Core/Opt/WorkWrap/Utils.hs
</a>
</li>
<li class="file-stats">
<a href="#d01de95d8c71d4dec6a9a59146186e29a5b3fd38">
compiler/GHC/Core/Rules.hs
</a>
</li>
<li class="file-stats">
<a href="#bbf06eb5d4f0db7bc3213b84b9f5822710ff7be8">
compiler/GHC/CoreToIface.hs
</a>
</li>
<li class="file-stats">
<a href="#f4ae6618b39d5ee4af8302b821aa7e38097a84b7">
compiler/GHC/Data/Maybe.hs
</a>
</li>
<li class="file-stats">
<a href="#2e5692f568fd7b67a6b172e2a60469da8392508c">
compiler/GHC/Driver/Flags.hs
</a>
</li>
<li class="file-stats">
<a href="#774d88050336ef660c7a219fb06c480c2fc639bc">
compiler/GHC/Driver/Session.hs
</a>
</li>
<li class="file-stats">
<a href="#e011edcbdb6414ff00022ab5c1eeee88906a53ab">
compiler/GHC/HsToCore/Coverage.hs
</a>
</li>
<li class="file-stats">
<a href="#649144a78135a23cabfc90dd83c4aabf448eb6ab">
compiler/GHC/Iface/Ext/Ast.hs
</a>
</li>
<li class="file-stats">
<a href="#699117ec0ed92a01cc9116db16477e81cd1e2ff6">
compiler/GHC/Iface/Ext/Binary.hs
</a>
</li>
<li class="file-stats">
<a href="#d29ec9f7b91b6b1c871d5cd8fe463ef9952e9597">
compiler/GHC/Iface/Ext/Debug.hs
</a>
</li>
<li class="file-stats">
<a href="#ea70f9cf0a00327d944951cb4a4dfa9fe4194b2d">
compiler/GHC/Iface/Ext/Types.hs
</a>
</li>
<li class="file-stats">
<a href="#1cf39038e57acc2a80cb5fb3fef9733e8e37b8fb">
compiler/GHC/Iface/Ext/Utils.hs
</a>
</li>
<li class="file-stats">
<a href="#079d6b28856775716c78fdd4a4b35bb45a59002c">
compiler/GHC/Iface/Syntax.hs
</a>
</li>
<li class="file-stats">
<a href="#d11203a9321005ba51a16d751c86f609d1f18c71">
compiler/GHC/Iface/Tidy.hs
</a>
</li>
<li class="file-stats">
<a href="#5a3376ebe9ef8294e13f1fb3761637fa76cd1558">
compiler/GHC/Types/Cpr.hs
</a>
</li>
<li class="file-stats">
<a href="#d09e98aae6ad2eb59d08eac7894b68c0ab820cda">
compiler/GHC/Types/Demand.hs
</a>
</li>
<li class="file-stats">
<a href="#38110817cdbc9a34d2b80a14070cabc7515c808a">
compiler/GHC/Types/Id/Info.hs
</a>
</li>
</ul>
<h5>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: #777;">

<br>
<a href="https://gitlab.haskell.org/ghc/ghc/-/compare/2594ade04814abc16db74367265be92acc82c94a...a324360bdcc55e8825f04425969fd2d4b1c501df">View it on GitLab</a>.
<br>
You're receiving this email because of your account on gitlab.haskell.org.
If you'd like to receive fewer emails, you can
adjust your notification settings.



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