<!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>
Ben Gamari pushed to branch wip/T15336
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/24afbfe9aacbb3f6a5cec8875ab100f0dfbe1bf8">24afbfe9</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-17T14:20:32Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Run nofib on binary distributions

Updates docker images to ensure that the `time` utility is available.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/62f0213d4db6020a0d1feb8512432dcad36f08de">62f0213d</a></strong>
<div>
<span>by Fumiaki Kinoshita</span>
<i>at 2019-06-18T20:00:20Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Data.Ord: give a field name getDown to Down
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/da33f2bb3965bacec25790548d1a9b6812dfeefc">da33f2bb</a></strong>
<div>
<span>by Fumiaki Kinoshita</span>
<i>at 2019-06-18T20:00:20Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add more newtype-derived instances to Data.Ord.Down

Metric Increase:
    haddock.base
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/dbf9ca2040c71b2f04322b054322a0ede1e1b700">dbf9ca20</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-18T20:00:56Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Add testcase for #16689
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/29ec33cd3ee390e8006a88d34f5ea0ac236663d0">29ec33cd</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-18T20:00:56Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">SafeHaskell: Don't throw -Wsafe warning if module is declared Safe

Fixes #16689.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/a491e40c5b7b20ef4a579a6697fb47410e0de25a">a491e40c</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-18T20:01:31Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">hadrian: Compile UserSettings with -O0

This guarantees that the interface file for `UserSettings` doesn't 
contain any unfoldings, ensuring that a change in it requires minimal 
rebuilds.</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/74bd6b225d94838811b885f9fdf943a5900cb424">74bd6b22</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-18T20:02:07Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Add test for #16832
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/6a92f59d7385397fb9ee013efe102c797319243c">6a92f59d</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-18T20:02:42Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gitlab-ci: Run alpine builds during nightly job
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/4549cadf855d14a6b737ceddf4e474faf8e343ff">4549cadf</a></strong>
<div>
<span>by Andreas Klebinger</span>
<i>at 2019-06-18T20:03:19Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Make sure mkSplitUniqSupply stores the precomputed mask only.

mkSplitUniqSupply was lazy on the boxed char.

This caused a bunch of issues:
* The closure captured the boxed Char
* The mask was recomputed on every split of the supply.
* It also caused the allocation of MkSplitSupply to happen in it's own
(allocated) closure. The reason of which I did not further investigate.

We know force the computation of the mask inside mkSplitUniqSupply.
* This way the mask is computed at most once per UniqSupply creation.
* It allows ww to kick in, causing the closure to retain the unboxed
value.

Requesting Uniques in a loop is now faster by about 20%.

I did not check the impact on the overall compiler, but I added a test
to avoid regressions.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/abee907f20ec9b8465be6587b3c74df9a1d1b1a6">abee907f</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-19T15:50:21Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">ghci: Don't rely on resolution of System.IO to base module

Previously we would hackily evaluate a textual code snippet to compute
actions to disable I/O buffering and flush the stdout/stderr handles.
This broke in a number of ways (#15336, #16563).

Instead we now ship a module (`GHC.GHCi.Helpers`) with `base` containing
the needed actions. We can then easily refer to these via `Orig` names.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/22743f728a55e851bd079511df0812a1275d1fee">22743f72</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-19T15:50:21Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Add test for #16563
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/1a4cb367ab8ecc2cb492ccd28ba0e659f1c82b30">1a4cb367</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-06-19T15:56:49Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Mark T5611 as broken in ghci way

As described in #16845.
</pre>
</li>
</ul>
<h4>30 changed files:</h4>
<ul>
<li class="file-stats">
<a href="#587d266bb27a4dc3022bbed44dfa19849df3044c">
.gitlab-ci.yml
</a>
</li>
<li class="file-stats">
<a href="#2da47fed955dc80b79c67ba640b94aeecf9d5524">
compiler/basicTypes/UniqSupply.hs
</a>
</li>
<li class="file-stats">
<a href="#a5d2f1f03da18c26aa3c615ca829648a4a806a5b">
compiler/main/HscMain.hs
</a>
</li>
<li class="file-stats">
<a href="#7b2a3c8a780cfa42412ee2700454599d02c3f69d">
compiler/prelude/PrelNames.hs
</a>
</li>
<li class="file-stats">
<a href="#57d22eb49f269b51f07e23c509834d85e25f691e">
ghc/GHCi/UI/Monad.hs
</a>
</li>
<li class="file-stats">
<a href="#b5b7b63ab5532ca7281d44e164d77f0d56c1fddc">
hadrian/src/UserSettings.hs
</a>
</li>
<li class="file-stats">
<a href="#8e1343ff94681e698b8ec9b48d207779d77db1b9">
libraries/base/Control/Monad/Fix.hs
</a>
</li>
<li class="file-stats">
<a href="#a1e5e9c761548ac1c0265028f1f3b31a2390058b">
libraries/base/Data/Ord.hs
</a>
</li>
<li class="file-stats">
<a href="#d323d108fe74db3c82576e0a81b4edc5c07a5bfc">
<span class="new-file">
+
libraries/base/GHC/GHCi/Helpers.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#b7cfb47853ef95330e499ca0c5b90964744d101f">
libraries/base/base.cabal
</a>
</li>
<li class="file-stats">
<a href="#392e9dfd3417e267d708c5ab16536f2994d43745">
libraries/base/changelog.md
</a>
</li>
<li class="file-stats">
<a href="#40142624dc4857a702b52f173a35277f48e3a483">
testsuite/tests/concurrent/should_run/all.T
</a>
</li>
<li class="file-stats">
<a href="#8fba858c8f3f59be9a9af7fc941786ece8ec2410">
testsuite/tests/ghci.debugger/scripts/break006.stdout
</a>
</li>
<li class="file-stats">
<a href="#dbebcb81c3d1384f84270821f8eb4023e29522db">
testsuite/tests/ghci.debugger/scripts/break013.stdout
</a>
</li>
<li class="file-stats">
<a href="#31879efd41705720c2f093d77c4156faecb253fd">
testsuite/tests/ghci.debugger/scripts/hist001.stdout
</a>
</li>
<li class="file-stats">
<a href="#62edb1729b9cb606143d1a7f0181f03c3a6b2bda">
testsuite/tests/ghci.debugger/scripts/hist002.stdout
</a>
</li>
<li class="file-stats">
<a href="#a2173f1fb1a762ebc0bda4da3e64d890d1623693">
<span class="new-file">
+
testsuite/tests/ghci/scripts/T16563.script
</span>
</a>
</li>
<li class="file-stats">
<a href="#c710e41aa5dbd8e355c0e903f8cb86b93e16af57">
<span class="new-file">
+
testsuite/tests/ghci/scripts/T16563.stdout
</span>
</a>
</li>
<li class="file-stats">
<a href="#8da75825433bf887a762deedc637b1c15b637d5d">
testsuite/tests/ghci/scripts/T4175.stdout
</a>
</li>
<li class="file-stats">
<a href="#35c9dead622e26b830535877ec549257bcaf1ac1">
testsuite/tests/ghci/scripts/T7627.stdout
</a>
</li>
<li class="file-stats">
<a href="#f0838d8eb1a4af059d02280d76b2a0c5179d5a5a">
testsuite/tests/ghci/scripts/T8469.stdout
</a>
</li>
<li class="file-stats">
<a href="#080fb38cc741d3f1a476696b3373ab7cf48c2aaa">
testsuite/tests/ghci/scripts/all.T
</a>
</li>
<li class="file-stats">
<a href="#aa84ef307ee23e395c25ee686d2a07a07d2e3b5a">
testsuite/tests/ghci/scripts/ghci011.stdout
</a>
</li>
<li class="file-stats">
<a href="#66b3bcd5fea6555891592d68b8ebbba3fb839816">
testsuite/tests/ghci/scripts/ghci064.stdout
</a>
</li>
<li class="file-stats">
<a href="#15a9f9be4aeaf88dc41618baa2ab24b3b57941dc">
<span class="new-file">
+
testsuite/tests/perf/should_run/UniqLoop.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#f41ec90131956922871428d1f65574b7c372b5af">
testsuite/tests/perf/should_run/all.T
</a>
</li>
<li class="file-stats">
<a href="#42f832e7e6d6a3367d7879ec8619cbe2f2b43f22">
<span class="new-file">
+
testsuite/tests/safeHaskell/safeInfered/T16689.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#07b01682fe459ed00238e7cede0864c25dadaf8f">
testsuite/tests/safeHaskell/safeInfered/all.T
</a>
</li>
<li class="file-stats">
<a href="#120aa87252c0e17b5f373154eac228e54e4ec6f0">
<span class="new-file">
+
testsuite/tests/typecheck/should_compile/T16832.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#9b66c346ab5e04c32bcacbf0aab2c3afa4d0c276">
<span class="new-file">
+
testsuite/tests/typecheck/should_compile/T16832.script
</span>
</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/db015ba752ef352b50f2d15f200a585387be630f...1a4cb367ab8ecc2cb492ccd28ba0e659f1c82b30">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>