<!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>
Richard Eisenberg pushed to branch wip/cfuneqcan-refactor
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/ea4662fc0c4e3a061fc174c80f45b6d007796156">ea4662fc</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:19:55-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Move core flattening algorithm to Core.Unify

This sets the stage for a later change, where this
algorithm will be needed from GHC.Core.InstEnv.

This commit also splits GHC.Core.Map into
GHC.Core.Map.Type and GHC.Core.Map.Expr,
in order to avoid module import cycles
with GHC.Core.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/91fa4b47a8bd5830bbadae44b0b340f0b2bbbc31">91fa4b47</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:17-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Bump the # of commits searched for perf baseline

The previous value of 75 meant that a feature branch with
more than 75 commits would get spurious CI passes.

This affects #18692, but does not fix that ticket, because
if a baseline cannot be found, we should fail, not succeed.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/25bc67ab30a60ac1945dbee894e1963a50a60768">25bc67ab</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:17-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Start of work in simplifying flattening
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/c3806e5afbb8ca36164f3fd0e56623428c48394e">c3806e5a</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:17-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Much work toward simplifying CFunEqCan
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/3dface6238d8bc5503e09fc3ab918b18abd18a87">3dface62</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:17-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Canonicalized function equalities.

Now, onto interactions.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/7d254133b125081055ca83a473addf3e802bdf80">7d254133</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:17-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">CEqCan, and canonicalization for it
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/a22102d988201b78a1300f0f0be36be3704ca359">a22102d9</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:17-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Main changes done. Now to delete code.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/dee0c256623383f21cb422833a6291b2117dfb56">dee0c256</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:18-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Kill off CFunEqCan and CTyEqCan
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/a3e0f6cf8b51aa3d0d28296029bbdff93be754f8">a3e0f6cf</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:18-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">It compiles.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/75893891444e22fefc5b2bb9d06253592cbd12a0">75893891</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:18-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Some bugfixing
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/56ee9ceeaf8a769892ec959ae8305bb9b3ccf380">56ee9cee</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:18-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Lots of bug fixing
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/b59b65bc8756f3e5d02983d6906ad7f746d8d34a">b59b65bc</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:18-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Expand synonyms that mention families, obvs
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/920855a23dfbe5cdb1e81a448672bbd53a2df05a">920855a2</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:18-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Super skolems are really super.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/06cb318380cc0e43df67934361108b25f6be624b">06cb3183</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:19-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Another bug bites the dust.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/f362ea5afaacf1bfc326353dff25048245dd6c6a">f362ea5a</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:19-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Put variable on left only when it will unify
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/3ec0aaa1202390a2ae3e6dbb3faaa740587e3a87">3ec0aaa1</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:19-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Tiny little changes
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/d2a3edb4cd461b7266a0e607507dc2e92de6103d">d2a3edb4</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:19-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Use built-in axioms for injectivity
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/449e25ef97fdb36057322de771d8f1d8415d3d85">449e25ef</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:19-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Stop loop in solver due to blocked hetero eqs
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/83b162bbe1dceb47a9e4902d3c9eb9b38ec1fc38">83b162bb</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:20-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Note [Runaway Derived rewriting]
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/0e087f2e6db6d358c9777f6a63379771d7d09b08">0e087f2e</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:20-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Still need to check tyvar/funeq orientation
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/67c8acfe07b7fa5a9f2d53d7431f83428c7aa662">67c8acfe</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:49-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">More bugfixing
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/22711aa3d32362dea24eba8c5bb1c82517f51c94">22711aa3</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:52-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Orient FunEq/FunEq correctly wrt occurs-check
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/bf1eb58c143472fb4b2eb145f3d5976831772474">bf1eb58c</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:53-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix import
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/287e969c85e4d9771fc50c2c1cb12d1e6977b9fe">287e969c</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:53-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Note [Type variable cycles in Givens]
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/4f629ab25dbeda763a18ddfb1b9e1c43e28b40b3">4f629ab2</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:53-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Handle obscure corner case in canonicalize
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/72556f8f24b31fd03f57020d0be091c98aca2972">72556f8f</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:53-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Handle (=>) specially in pure unifier
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/51418692b0d88830453dcb094142d53ba2febf44">51418692</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:53-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Start deleting stuff. Hooray!
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/ac4b7d5256ce8f811f95a0c6f44e56218bd9a2e9">ac4b7d52</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:53-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix test output
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/ec2cd9c746cd30f814bc64432107124158601673">ec2cd9c7</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:54-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Delete delete delete !!
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/ab08422282565359032c479c07585c4f5558048d">ab084222</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:54-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">More deleting. Checkpoint before removing FlattenMode
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/3281640b012a614875c1ad8689a42aefef690528">3281640b</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:54-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Remove FlattenMode
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/a17276849871a2e64f5c96c0858d54ab5663362d">a1727684</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:54-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Stopped bumping ctLocDepth in runFlatten
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/d30ff3ef383edead6a95d74312dee6469126b558">d30ff3ef</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:54-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Finished deleting.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/79084542a2e1baec43ab232d23e96fcadc851058">79084542</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:55-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">A few error message wibbles
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/86c7462d554b5aaebd95f592feea5f52cca2bf49">86c7462d</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:55-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Some small changes, mostly comments.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/d989a12555d0791b0df1c49c60f41750955a4b20">d989a125</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:55-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix #18875 by breaking type variable cycles.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/a6437cf98b5bf773035a8f661bc973e81946bd7c">a6437cf9</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:55-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Actually add test files
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/9bd983b7183b961e199b17bd7dd1bc85cd6cab5a">9bd983b7</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:55-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add Detail (7) to the Note
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/c7fc940b035503cd36c2c46f71b670bdebeadca6">c7fc940b</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:55-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">A few error wibbles
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/1391322fe212e78af15ba86676012c2679317186">1391322f</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:56-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Don't simplify extra-constraint holes
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/9464e344e7c521b678ba4f3eb429d568418cda7d">9464e344</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:56-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Subtleties in Note [Instance and Given overlap]
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/fc073a19dfb4e5cc0c1e626f3d627fbb6b08084a">fc073a19</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:56-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Update Note [TyVar/TyVar orientation]
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/61d2cfda4e314648f18cbf710089d54d36eebb9e">61d2cfda</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:56-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Actually add tests
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/285d8d298e39db89a5f04588f20df67177feefe1">285d8d29</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:56-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Do mightMatchLater correctlier.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/1fd7947af1a18373e8620092aaf54155f6a7fae0">1fd7947a</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:57-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Simplify getNoGivenEqs
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/a6e126bd56cfc1dd6142d8dc1092c2e35147dabb">a6e126bd</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:57-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Simplify code a bit
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/a827fbd17d95a98918a8229bcc61c3766a91b4ec">a827fbd1</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:57-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Introduce 3-way for ic_given_eqs
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/73c055c677e85c025805617f9695fe75a4a9529c">73c055c6</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:57-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">test LocalGivenEqs
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/3fdaeadf2a787d25d5d4278155e942622ba42551">3fdaeadf</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:57-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Update commentary about HasGivenEqs
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/e12e6e13c3afd156ac6183926412110016fbb52a">e12e6e13</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:57-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Update notes.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/aa1abe28486700de6cf2afad22d33003619ee724">aa1abe28</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:58-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">More documentation around LocalGivenEqs
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/c52b30e2b6ed92d641e2f823864a7d2d262dad25">c52b30e2</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:58-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Rename the flat-cache. Document it, too.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/cf01300a76b0dd0537f9885d13b4bebac2daf234">cf01300a</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:58-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Make EqualCtList into a newtype with NonEmpty
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/210414e3b4062fe0cd4112e4cf057db218a8fe01">210414e3</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:58-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Remove Note [No FunEq improvement for Givens]
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/1d494b14895270cc9ca25a3f38416b993c0c996f">1d494b14</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:58-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix compilation errors from rebasing
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/36f7db05b567dd094fdedad962e39d66ccfd4c2e">36f7db05</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:58-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Use DTyConEnv for TcAppMap instead of UDFM
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/405cd093c8894d59293b729f3605974322b777d6">405cd093</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:59-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Remove mention of CFunEqCan from rebasing
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/8ba8d46a1d77ad281b9083e98beb190607ce88d5">8ba8d46a</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:59-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix error output
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/25b82e524cbc88f4828c5774e3c79bf7ebf07a90">25b82e52</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:59-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Reimplement flatten_exact_fam_app

Hopefully will be faster?
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/0a013b3b9789e9356438f66a4ec638fe832c0a17">0a013b3b</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:59-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Improve performance
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/fcc450130886840ab4424d554763a4e32571b6ee">fcc45013</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:59-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Don't fail eagerly on runaway Derived instances
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/ed274fcb492d9df86d08aa5d79efaaf6269abe4d">ed274fcb</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:20:59-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Improve some comments
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/9f373dc42421e84ca540cf627aca4c1cd5015a73">9f373dc4</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:21:00-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Checkpoint before adding filterTM
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/d76dc2f963e2b00038812a53bcbc4321738a7767">d76dc2f9</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:21:00-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">remove stale givens from famapp-cache
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/81efda554c15c7165b1972c5d5167b6080849437">81efda55</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:21:00-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Remove unused parameter
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/0b2ea8c472a6c98a3bddfccf656128601e8380fc">0b2ea8c4</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:21:00-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Address points from Hécate.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/546c58cb35173ee0d2b80cf2c765100858c9d70d">546c58cb</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:21:00-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Reviews on GitLab
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/c576c273561c11b3138196a1dc2de15bfeb04dec">c576c273</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:21:01-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Use tcSplitTyConApp_maybe in can_eq_nc'
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/bb7a7ce0b2b577f0dda24a82d6cf896b8e2ad945">bb7a7ce0</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:21:01-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Try removing (2b). Let's see what the testsuite says
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/b1599c787829b98f140629d076379d1819e80bed">b1599c78</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:21:01-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Really remove (2b)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/7063743887a5992a88cfe1ba17b977074d985158">70637438</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:21:01-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">More reactions to reviews
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/1e4e66f7d1311994702560b661b85e26ab2676e8">1e4e66f7</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:21:01-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Revisit [Prevent unification with type families]
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/bde848970a10e6db28053fd325b9e3b1ac6ed0af">bde84897</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:21:01-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Don't flatten during instance lookup
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/081c00ad7807176c040a3537e449c38d5ba6fee1">081c00ad</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:21:02-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Comments, etc., from Friday
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/d5d8ce8000d49cc2078231230a24774f662b44ce">d5d8ce80</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:21:02-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Make the fast path work without roles
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/489633728fcae8afa6c49ce29e021d91b5b1b416">48963372</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:21:02-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Use MCo
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/d1c1600f82cf00dc1fed38e742201e8ca5282081">d1c1600f</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:21:02-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Remove unused parameter
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/2036eeccf00c92afb7c855c9a80649cdbd975ac2">2036eecc</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:21:02-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add test case
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/5fd9c4669edf3fe447154547c23e67f8b0e5c8c8">5fd9c466</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:21:03-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">s/flatten/rewrite`
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/bb01cdb787c0cfa18de0e1d2d574688adf27c016">bb01cdb7</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:21:03-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">inline finish
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/e00f2ebd00a2f68dc5f1ba1269bf137edcb3723e">e00f2ebd</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:21:03-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Use a flag on `finish`
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/5adfd0ec4035c6c3520b3d1a474f8f6d0b07227f">5adfd0ec</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:21:03-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Don't avoid adding inerts to cache
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/8623f3bbf8102442e28badbe963613b098597907">8623f3bb</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:21:03-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Kill off Note [Unification with skolems]
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/dee56d9f94ef26b2b722c0f4b29a51f262fbd948">dee56d9f</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:21:03-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Introduce canNC
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/6df1bfd6ffe025a8f357c413792ffc7f1f3c586e">6df1bfd6</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:21:04-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Remove isTyVarHead
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/7efceb85c66f8dfe73244871ac413df49a154a86">7efceb85</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:21:04-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Accommodate #18987
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/d3d30796ad9223307f19e39313de1eb9a205c2e6">d3d30796</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:21:04-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">let-bound skolems
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/853dd86bdec645f8e0cc584491b075ce37f19d34">853dd86b</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:21:04-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">More comments on HasGivenEqs
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/0bb0e32a1a1f68f63749cf81826db2a3b8e4ab60">0bb0e32a</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:21:04-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix error output
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/c417aa249c71e29dfb3f976076d722be88c05fe6">c417aa24</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-11-24T23:21:04-05:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Some comments
</pre>
</li>
</ul>
<h4>30 changed files:</h4>
<ul>
<li class="file-stats">
<a href="#806448db91cc2906ebcc088107220a663d3d43eb">
compiler/GHC/Cmm/CommonBlockElim.hs
</a>
</li>
<li class="file-stats">
<a href="#4fbb1c5f251c38fc01fcde693420ee6d02df7e45">
compiler/GHC/Cmm/Dataflow/Label.hs
</a>
</li>
<li class="file-stats">
<a href="#783e5dae6e86931f06700fc088fb7d48c8a07386">
compiler/GHC/Core/Coercion.hs
</a>
</li>
<li class="file-stats">
<a href="#b0ab2032bd0c006bb9cda1e5433173de35930f53">
compiler/GHC/Core/Coercion.hs-boot
</a>
</li>
<li class="file-stats">
<a href="#f10ed7a2470454dfdd8691a08beba67d8b78ee70">
compiler/GHC/Core/Coercion/Axiom.hs
</a>
</li>
<li class="file-stats">
<a href="#975dc08a8e7942b32d621f617d5a9c1b668601dd">
compiler/GHC/Core/Coercion/Opt.hs
</a>
</li>
<li class="file-stats">
<a href="#91648438362e5a35363d2bb7abb04016dedd7d7e">
compiler/GHC/Core/FamInstEnv.hs
</a>
</li>
<li class="file-stats">
<a href="#5596bb0f228bd2a308c4391df97375ae879430a8">
compiler/GHC/Core/InstEnv.hs
</a>
</li>
<li class="file-stats">
<a href="#640612f2fdc707ac7ee74f4165a7b86f38aa6249">
<span class="new-file">
+
compiler/GHC/Core/Map/Expr.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#691eec62dc293d0881c314b38b7363dc88b44c59">
compiler/GHC/Core/Map.hs

compiler/GHC/Core/Map/Type.hs
</a>
</li>
<li class="file-stats">
<a href="#446b4afbe6836b950115a619acea24ddde19dc90">
compiler/GHC/Core/Opt/CSE.hs
</a>
</li>
<li class="file-stats">
<a href="#039e8f5676356ef05c90af828aae48aac7296e47">
compiler/GHC/Core/TyCo/FVs.hs
</a>
</li>
<li class="file-stats">
<a href="#578c7c3857d66d963736ff6742f3433a0e8d01b7">
compiler/GHC/Core/TyCo/Rep.hs
</a>
</li>
<li class="file-stats">
<a href="#4aad0050db1a8a20db8bbca149111de99cb299c9">
compiler/GHC/Core/TyCon.hs
</a>
</li>
<li class="file-stats">
<a href="#d1a980a3e0f207c148bb3ab404696977015bcc56">
compiler/GHC/Core/TyCon/Env.hs
</a>
</li>
<li class="file-stats">
<a href="#84c9d3ba34173297e7d7747e02caa2e004b164fc">
compiler/GHC/Core/Type.hs
</a>
</li>
<li class="file-stats">
<a href="#89a2e0e1a3095c7a42b10f2819049908908080e8">
compiler/GHC/Core/Unify.hs
</a>
</li>
<li class="file-stats">
<a href="#2fefe3125c649bc5377b06a7cca18e785855b79c">
compiler/GHC/Data/Bag.hs
</a>
</li>
<li class="file-stats">
<a href="#f4ae6618b39d5ee4af8302b821aa7e38097a84b7">
compiler/GHC/Data/Maybe.hs
</a>
</li>
<li class="file-stats">
<a href="#87e780e9b5d14cf4e8a52bb125fc352fa8a1d4be">
compiler/GHC/Data/TrieMap.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="#c8a27621f82549165d8946ae8e9f467660958059">
compiler/GHC/HsToCore/Monad.hs
</a>
</li>
<li class="file-stats">
<a href="#9095b3c5485a1f2f18a0a43346b7a49dfdd1f65d">
compiler/GHC/HsToCore/Pmc/Solver.hs
</a>
</li>
<li class="file-stats">
<a href="#6983b6dc1a4f225d4e72180ad45d8484d9d32931">
compiler/GHC/HsToCore/Pmc/Solver/Types.hs
</a>
</li>
<li class="file-stats">
<a href="#b2fd0f5f3e0bc9dcc507931c0b7388bf10e925c2">
compiler/GHC/HsToCore/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="#90a56cf7f130d66194a6a61cb5f372eb339ab111">
compiler/GHC/Stg/CSE.hs
</a>
</li>
<li class="file-stats">
<a href="#e4b9d5e9d2de37561bfd06a2c97a5c924a1bab76">
compiler/GHC/Tc/Errors.hs
</a>
</li>
<li class="file-stats">
<a href="#83f745d921da7adb739e81f83e1c07e723e4a789">
compiler/GHC/Tc/Gen/Bind.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: #666;">

<br>
<a href="https://gitlab.haskell.org/ghc/ghc/-/compare/2b7af3cd500bb587736ff455645fb4cd5ff986f3...c417aa249c71e29dfb3f976076d722be88c05fe6">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>