<!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>
Vladislav Zavialov pushed to branch wip/top-level-kind-signatures
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/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/4b2287681e1610ad9fdc665c50f4f1476d856060">4b228768</a></strong>
<div>
<span>by Moritz Angermann</span>
<i>at 2019-05-27T05:19:49Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Lowercase windows imports

While windows and macOS are currently on case-insensitive file
systems, this poses no issue on those.  When cross compiling from
linux with a case sensitive file system and mingw providing only
lowercase headers, this in fact produces an issue.  As such we just
lowercase the import headers, which should still work fine on a
case insensitive file system and also enable mingw's headers to
be usable porperly.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/01f8e39032f9fd86a23e5bbb7dbf1aca3a3d114d">01f8e390</a></strong>
<div>
<span>by Alp Mestanogullari</span>
<i>at 2019-05-27T14:06:26Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Hadrian: Fix problem with unlit path in settings file

e529c65e introduced a problem in the logic for generating the
path to the unlit command in the settings file, and this patches
fixes it.

This fixes many tests, the simplest of which is:

> _build/stage1/bin/ghc testsuite/tests/parser/should_fail/T8430.lhs

which failed because of a wrong path for unlit, and now fails for the right
reason, with the error message expected for this test.

This addresses #16659.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/dcd843accc5554e1401987f1e7461dd836223daa">dcd843ac</a></strong>
<div>
<span>by mizunashi_mana</span>
<i>at 2019-05-27T14:06:27Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix typo of primop format</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/3f6e5b976fe6bcb61aa44a4467e8f94841e979cf">3f6e5b97</a></strong>
<div>
<span>by Joshua Price</span>
<i>at 2019-05-27T14:06:28Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Correct the large tuples section in user's guide

Fixes #16644.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/1f51aad656444c667cf1dd22605ee65e931985c7">1f51aad6</a></strong>
<div>
<span>by Krzysztof Gogolewski</span>
<i>at 2019-05-27T14:06:28Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix tcfail158 (#15899)

As described in #15899, this test was broken, but now it's back
to normal.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/723216e3ee8d5d535ca74b67748453f948d73d42">723216e3</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2019-05-27T14:06:29Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add a pprTraceWith function
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/6d188dd526334ddbb5fb683eef7aa0be6c35a3a0">6d188dd5</a></strong>
<div>
<span>by Simon Jakobi</span>
<i>at 2019-05-27T14:06:31Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">base: Include (<$) in all exports of Functor

Previously the haddocks for Control.Monad and Data.Functor gave
the impression that `fmap` was the only Functor method.

Fixes #16681.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/95b791732c6c7a5becc01b70e9496266cec5444e">95b79173</a></strong>
<div>
<span>by Jasper Van der Jeugt</span>
<i>at 2019-05-27T14:06:32Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix padding of entries in .prof files

When the number of entries of a cost centre reaches 11 digits, it takes
up the whole space reserved for it and the prof file ends up looking
like:

    ... no.        entries  %time %alloc   %time %alloc

        ...
    ... 120918     978250    0.0    0.0     0.0    0.0
    ... 118891          0    0.0    0.0    73.3   80.8
    ... 11890229702412351    8.9   13.5    73.3   80.8
    ... 118903  153799689    0.0    0.1     0.0    0.1
        ...

This results in tooling not being able to parse the .prof file.  I
realise we have the JSON output as well now, but still it'd be good to
fix this little weirdness.

Original bug report and full prof file can be seen here:
<https://github.com/jaspervdj/profiteur/issues/28>.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/f80d3afd7357edbeee0148faa9e8ca3e103a7174">f80d3afd</a></strong>
<div>
<span>by John Ericson</span>
<i>at 2019-05-27T14:06:33Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">hadrian: Fix generation of settings

I jumbled some lines in e529c65eacf595006dd5358491d28c202d673732,
messing up the leading underscores and rts ways settings. This broke at
least stage1 linking on macOS, but probably loads of other things too.

Should fix #16685 and #16658.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/db8e3275080173cc36af9f8e51636ee506e7c872">db8e3275</a></strong>
<div>
<span>by Ömer Sinan Ağacan</span>
<i>at 2019-05-27T14:06:37Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add missing opening braces in Cmm dumps

Previously -ddump-cmm was generating code with unbalanced curly braces:

     stg_atomically_entry() //  [R1]
             { info_tbls: [(cfl,
                            label: stg_atomically_info
                            rep: tag:16 HeapRep 1 ptrs { Thunk }
                            srt: Nothing)]
               stack_info: arg_space: 8 updfr_space: Just 8
             }
         {offset
           cfl: // cfk
               unwind Sp = Just Sp + 0;
               _cfk::P64 = R1;
               //tick src<rts/PrimOps.cmm:(1243,1)-(1245,1)>
               R1 = I64[_cfk::P64 + 8 + 8 + 0 * 8];
               call stg_atomicallyzh(R1) args: 8, res: 0, upd: 8;
         }
     }, <---- OPENING BRACE MISSING

After this patch:

     stg_atomically_entry() { //  [R1] <---- MISSING OPENING BRACE HERE
             { info_tbls: [(cfl,
                            label: stg_atomically_info
                            rep: tag:16 HeapRep 1 ptrs { Thunk }
                            srt: Nothing)]
               stack_info: arg_space: 8 updfr_space: Just 8
             }
         {offset
           cfl: // cfk
               unwind Sp = Just Sp + 0;
               _cfk::P64 = R1;
               //tick src<rts/PrimOps.cmm:(1243,1)-(1245,1)>
               R1 = I64[_cfk::P64 + 8 + 8 + 0 * 8];
               call stg_atomicallyzh(R1) args: 8, res: 0, upd: 8;
         }
     },
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/5aa5f4bd7a6c9181d72c3b4fd554ac7aba73eff8">5aa5f4bd</a></strong>
<div>
<span>by Vladislav Zavialov</span>
<i>at 2019-05-28T09:47:23Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">tcMatchesFun s/rho/sigma #16692
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/68e26d5dc14b2c9700280df9b1bddd1d6237570f">68e26d5d</a></strong>
<div>
<span>by Vladislav Zavialov</span>
<i>at 2019-05-28T15:14:38Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">WIP: Top-level kind signatures
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/e26775f944137da7beadf91b438ea77d868b84ba">e26775f9</a></strong>
<div>
<span>by Vladislav Zavialov</span>
<i>at 2019-05-28T15:14:38Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">TLKSs instead of CUSKs in tests
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/a1a2e008167f8510dcc4d37600389dee08982d68">a1a2e008</a></strong>
<div>
<span>by Vladislav Zavialov</span>
<i>at 2019-05-28T15:14:38Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">DEBUGGING COMMIT (int-index)
</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="#57ca2ad8c215a4b7d1d74a244d031fcdc3d3bf30">
compiler/cmm/PprCmmDecl.hs
</a>
</li>
<li class="file-stats">
<a href="#0f33fd88c617246c7f89c4477d2d1d24f942df23">
compiler/ghc.cabal.in
</a>
</li>
<li class="file-stats">
<a href="#7f924eb82ea52b493e50fc467c301adb6a0eaf32">
compiler/hieFile/HieAst.hs
</a>
</li>
<li class="file-stats">
<a href="#cea099f0a8458f389428fa0aa831d43169d329bf">
compiler/hsSyn/HsBinds.hs
</a>
</li>
<li class="file-stats">
<a href="#0db90e3d6e6150a586bbd58f75f250c3c71766f9">
compiler/hsSyn/HsDecls.hs
</a>
</li>
<li class="file-stats">
<a href="#3ec3774412294d7ceaaa0572f116dc7c911d3f6d">
compiler/hsSyn/HsExtension.hs
</a>
</li>
<li class="file-stats">
<a href="#e7673c6d90538d1c5ad8b53d152421a616776073">
compiler/hsSyn/HsInstances.hs
</a>
</li>
<li class="file-stats">
<a href="#2b3e067399771b3fa0f5379f12d4dbc25a19252e">
compiler/hsSyn/HsTypes.hs
</a>
</li>
<li class="file-stats">
<a href="#3d3edae32c1aa93e3404c2eb85d4718db1ae6b29">
compiler/iface/BinFingerprint.hs
</a>
</li>
<li class="file-stats">
<a href="#11e9bfd841c4163c1919b5e07efc84740e02010f">
compiler/main/DynFlags.hs
</a>
</li>
<li class="file-stats">
<a href="#a9d23eb447426d7f3469127262985af461dfad78">
compiler/parser/Parser.y
</a>
</li>
<li class="file-stats">
<a href="#f68eb03961d8e370e8d3f41bd51ea01fd168779e">
compiler/parser/RdrHsSyn.hs
</a>
</li>
<li class="file-stats">
<a href="#2a8bedbc781353ca3c4d1e56daba6faa8829aaf3">
compiler/prelude/primops.txt.pp
</a>
</li>
<li class="file-stats">
<a href="#41d8e867d11a729feed79b288f2324fb6d261cf6">
compiler/rename/RnBinds.hs
</a>
</li>
<li class="file-stats">
<a href="#a55612b2faf1041b010514ceb222ddf75c15a326">
compiler/rename/RnSource.hs
</a>
</li>
<li class="file-stats">
<a href="#80d26d5d3ff0c380bfa505239d3192d66657fe32">
compiler/rename/RnTypes.hs
</a>
</li>
<li class="file-stats">
<a href="#03fcfd4f0c13e95ca02d6ca706f9d7af0db23519">
compiler/rename/RnUtils.hs
</a>
</li>
<li class="file-stats">
<a href="#8e5716cfebabf9b3b1774b148dca4e897301a054">
compiler/specialise/Specialise.hs
</a>
</li>
<li class="file-stats">
<a href="#e7f3c171c8b724084e7dad0d8b951d66cc9c0751">
compiler/typecheck/TcDeriv.hs
</a>
</li>
<li class="file-stats">
<a href="#350c4076427c611b8f14e875a4ca553041c2b847">
compiler/typecheck/TcHsType.hs
</a>
</li>
<li class="file-stats">
<a href="#ba224db1ea87f93255684c230e685bc4312e8163">
compiler/typecheck/TcMatches.hs
</a>
</li>
<li class="file-stats">
<a href="#479ee43cbd0be73a28501711f4f4500873f83e79">
compiler/typecheck/TcMatches.hs-boot
</a>
</li>
<li class="file-stats">
<a href="#341aef35ac370771edf59ec6b9fbb31507fa6f18">
compiler/typecheck/TcSigs.hs
</a>
</li>
<li class="file-stats">
<a href="#bdfa0cc139f61d1236abc1598c5d684b43c357f9">
compiler/typecheck/TcTyClsDecls.hs
</a>
</li>
<li class="file-stats">
<a href="#341fd962c5f2c9fcf8be3dbdaa9a14ee1538af07">
compiler/typecheck/TcType.hs
</a>
</li>
<li class="file-stats">
<a href="#39976578d614a500311fd7c538d70e9e4244a564">
compiler/typecheck/TcValidity.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="#7cb0c3b8a55988740abfeec25509f3897dd73950">
compiler/utils/Outputable.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/e02566ecb2680f528ca5a87773c397c9bfa64cd0...a1a2e008167f8510dcc4d37600389dee08982d68">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>