<!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/T16685
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/535a26c90f458801aeb1e941a3f541200d171e8f">535a26c9</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2019-05-23T17:26:37Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Revert "Add Generic tuple instances up to 15-tuple" #16688

This reverts commit 5eb9445444c4099fc9ee0803ba45db390900a80f.
It has caused an increase in variance of performance test T9630,
causing CI to fail.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/04b4b98447c36a2d28fffe819c97c32b591479ee">04b4b984</a></strong>
<div>
<span>by Alp Mestanogullari</span>
<i>at 2019-05-24T02:32:15Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">add an --hadrian mode to ./validate

When the '--hadrian' flag is passed to the validate script, we use hadrian
to build GHC, package it up in a binary distribution and later on run GHC's
testsuite against the said bindist, which gets installed locally in the process.

Along the way, this commit fixes a typo, an omission (build iserv binaries
before producing the bindist archive) and moves the Makefile that enables
'make install' on those bindists from being a list of strings in the code to
an actual file (it was becoming increasingly annoying to work with).

Finally, the Settings.Builders.Ghc part of this patch is necessary for being
able to use the installed binary distribution, in 'validate'.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/0b449d3415543771779a74f8d867eb1a4748ddb2">0b449d34</a></strong>
<div>
<span>by Ömer Sinan Ağacan</span>
<i>at 2019-05-24T02:35:54Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add a test for #16597
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/59f4cb6fb73ade6f9b0bdc85380dfddba93bf14b">59f4cb6f</a></strong>
<div>
<span>by Iavor Diatchki</span>
<i>at 2019-05-24T02:39:35Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add a `NOINLINE` pragma on `someNatVal` (#16586)

This fixes #16586, see `Note [NOINLINE someNatVal]` for details.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/6eedbd83a19cad94414b37f984b6e9c2b0c0b2e4">6eedbd83</a></strong>
<div>
<span>by Ryan Scott</span>
<i>at 2019-05-24T02:43:12Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Some forall-related cleanup in deriving code

* Tweak the parser to allow `deriving` clauses to mention explicit
  `forall`s or kind signatures without gratuitous parentheses.
  (This fixes #14332 as a consequence.)
* Allow Haddock comments on `deriving` clauses with explicit
  `forall`s. This requires corresponding changes in Haddock.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/c931f2561207aa06f1750827afbb68fbee241c6f">c931f256</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2019-05-24T10:22:29Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Allow metric change after reverting "Add Generic tuple instances up to 15-tuple" #16688

Metrics increased on commit 5eb9445444c4099fc9ee0803ba45db390900a80f and
decreased on revert commit 535a26c90f458801aeb1e941a3f541200d171e8f.

Metric Decrease:
    T9630
    haddock.base
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/d9dfbde30aa11afc87f25b73dc2d154a46ca24d4">d9dfbde3</a></strong>
<div>
<span>by Michael Sloan</span>
<i>at 2019-05-24T15:55:07Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add PlainPanic for throwing exceptions without depending on pprint

This commit splits out a subset of GhcException which do not depend on
pretty printing (SDoc), as a new datatype called
PlainGhcException. These exceptions can be caught as GhcException,
because 'fromException' will convert them.

The motivation for this change is that that the Panic module
transitively depends on many modules, primarily due to pretty printing
code.  It's on the order of about 130 modules.  This large set of
dependencies has a few implications:

1. To avoid cycles / use of boot files, these dependencies cannot
throw GhcException.

2. There are some utility modules that use UnboxedTuples and also use
`panic`. This means that when loading GHC into GHCi, about 130
additional modules would need to be compiled instead of
interpreted. Splitting the non-pprint exception throwing into a new
module resolves this issue. See #13101
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/70c244710258b8ef9cc61cebcbc0d26799e2fd0a">70c24471</a></strong>
<div>
<span>by Moritz Angermann</span>
<i>at 2019-05-25T21:51:30Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add `keepCAFs` to RtsSymbols
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/9be1749d24211c1a78334692d34be10dbc650371">9be1749d</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2019-05-25T21:55:05Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Hadrian: Add Mising Libffi Dependencies #16653

Libffi is ultimately built from a single archive file (e.g.
libffi-tarballs/libffi-3.99999+git20171002+77e130c.tar.gz).
The file can be seen as the shallow dependency for the whole
libffi build. Hence, in all libffi rules, the archive is
`need`ed and the build directory is `trackAllow`ed.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/2d0cf6252957b8980d89481ecd0b79891da4b14b">2d0cf625</a></strong>
<div>
<span>by Sandy Maguire</span>
<i>at 2019-05-26T12:57:20Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Let the specialiser work on dicts under lambdas

Following the discussion under #16473, this change allows the
specializer to work on any dicts in a lambda, not just those that occur
at the beginning.

For example, if you use data types which contain dictionaries and
higher-rank functions then once these are erased by the optimiser you
end up with functions such as:

```
  go_s4K9
  Int#
  -> forall (m :: * -> *).
     Monad m =>
     (forall x. Union '[State (Sum Int)] x -> m x) -> m ()
```

The dictionary argument is after the Int# value argument, this patch
allows `go` to be specialised.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/726cd5d660f29b7e1649bec8cbd842eb2d873954">726cd5d6</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-05-28T01:04:20Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">hadrian: Place non-Haskell objects last when linking

In general Haskell objects will contain references to non-Haskell
objects, not the other way around. Consequently non-Haskell objects
should be placed last. This should fix #16685.
</pre>
</li>
</ul>
<h4>30 changed files:</h4>
<ul>
<li class="file-stats">
<a href="#2da47fed955dc80b79c67ba640b94aeecf9d5524">
compiler/basicTypes/UniqSupply.hs
</a>
</li>
<li class="file-stats">
<a href="#828fc123b45440f198ae1a73afbdb01bfecdf022">
compiler/deSugar/ExtractDocs.hs
</a>
</li>
<li class="file-stats">
<a href="#0f33fd88c617246c7f89c4477d2d1d24f942df23">
compiler/ghc.cabal.in
</a>
</li>
<li class="file-stats">
<a href="#3d3edae32c1aa93e3404c2eb85d4718db1ae6b29">
compiler/iface/BinFingerprint.hs
</a>
</li>
<li class="file-stats">
<a href="#a9d23eb447426d7f3469127262985af461dfad78">
compiler/parser/Parser.y
</a>
</li>
<li class="file-stats">
<a href="#8e5716cfebabf9b3b1774b148dca4e897301a054">
compiler/specialise/Specialise.hs
</a>
</li>
<li class="file-stats">
<a href="#42f7098b2e474179480d39d90b79057ae297eb50">
compiler/utils/Binary.hs
</a>
</li>
<li class="file-stats">
<a href="#853e3f0b2adba3af1c88bbccec2b53c4c5532e39">
compiler/utils/FastString.hs
</a>
</li>
<li class="file-stats">
<a href="#58f771eb1cb2ec7f67a51a429acc590f40617af9">
compiler/utils/Panic.hs
</a>
</li>
<li class="file-stats">
<a href="#f01858d5e76b0e110a569d0c0f37b0729eb29f96">
<span class="new-file">
+
compiler/utils/PlainPanic.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#a259cdc3ba7d22ce8d5138c30f2be8890f63b3ce">
compiler/utils/Pretty.hs
</a>
</li>
<li class="file-stats">
<a href="#2415d91dffced59eb3596f10cf763b89f7fbce62">
compiler/utils/StringBuffer.hs
</a>
</li>
<li class="file-stats">
<a href="#7dc313da4c00f2541cb5e519a5e4a0eac7751a2a">
compiler/utils/Util.hs
</a>
</li>
<li class="file-stats">
<a href="#9e40ce816c93f9c0eeee92bd3c4e5b3701e7679a">
<span class="new-file">
+
hadrian/bindist/Makefile
</span>
</a>
</li>
<li class="file-stats">
<a href="#5c7e93589da23c93a226ca545d584a21e5c8b87a">
hadrian/src/CommandLine.hs
</a>
</li>
<li class="file-stats">
<a href="#d54febd1e7f96d85cda6ae682efa3ddb77fddedc">
hadrian/src/Rules/BinaryDist.hs
</a>
</li>
<li class="file-stats">
<a href="#b526b637050952b6307a0695885c438f0db312d2">
hadrian/src/Rules/Libffi.hs
</a>
</li>
<li class="file-stats">
<a href="#fb6173313439af46b3054cb59d8b9287eaae035c">
hadrian/src/Rules/Library.hs
</a>
</li>
<li class="file-stats">
<a href="#52ac3fb9d79a975886f930e407b4c98c993e9e8e">
hadrian/src/Settings/Builders/Ghc.hs
</a>
</li>
<li class="file-stats">
<a href="#cea726e2d7b4e04eca93c7e852da5602585a471b">
includes/CodeGen.Platform.hs
</a>
</li>
<li class="file-stats">
<a href="#ca474770fd1919cad63c4bbfe1236b4862eada45">
libraries/base/GHC/Generics.hs
</a>
</li>
<li class="file-stats">
<a href="#92fed88efc6a2e0461a84dd0d0f0bfb89bdbc799">
libraries/base/GHC/TypeLits.hs
</a>
</li>
<li class="file-stats">
<a href="#613eb2a1c706c7ea57be637d2c8ed135d1d2af29">
libraries/base/GHC/TypeNats.hs
</a>
</li>
<li class="file-stats">
<a href="#16c842a51a135c8ef2c7c7f94336544868348a3c">
rts/RtsSymbols.c
</a>
</li>
<li class="file-stats">
<a href="#95100bb645f4dde45e7fb6c89d33cbec7aead06f">
<span class="new-file">
+
testsuite/tests/deriving/should_compile/T14332.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#e7bc29da08da2be1b3bd264c751322dc3e8c1905">
testsuite/tests/deriving/should_compile/all.T
</a>
</li>
<li class="file-stats">
<a href="#619b46fd952d9e7d9035933568e2c85cd82f0a57">
testsuite/tests/haddock/should_compile_flag_haddock/T11768.hs
</a>
</li>
<li class="file-stats">
<a href="#c866fbf079a5db375734917394a3b08e033b6f91">
testsuite/tests/haddock/should_compile_flag_haddock/T11768.stderr
</a>
</li>
<li class="file-stats">
<a href="#9846aef088bf116a3369196d0218b5d321d825af">
<span class="new-file">
+
testsuite/tests/lib/base/T16586.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#82f14688dbd6dafc4dcadf090e207e625c0b7148">
<span class="new-file">
+
testsuite/tests/lib/base/T16586.stdout
</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/d8b31d0e6b56901eb7198e7b3521a7dfda435c40...726cd5d660f29b7e1649bec8cbd842eb2d873954">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>