Typofix.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
Miscellaneous documentation for the Finder.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
Top-level comment for keepPackageImports.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
In pattern synonym matchers, support unboxed continuation results (fixes #9783).

This requires ensuring the continuations have arguments by adding a dummy
Void# argument when needed. This is so that matching on a pattern synonym
is lazy even when the result is unboxed, e.g.

    pattern P = ()
    f P = 0#

In this case, without dummy arguments, the generated matcher's type would be

   $mP :: forall (r :: ?). () -> r -> r -> r

which is called in `f` at type `() -> Int# -> Int# -> Int#`,
so it would be strict, in particular, in the failure continuation
of `patError`.

We work around this by making sure both continuations have arguments:

  $mP :: forall (r :: ?). () -> (Void# -> r) -> (Void# -> r) -> r

Of course, if `P` (and thus, the success continuation) has any arguments,
we are only adding the extra dummy argument to the failure continuation.
Group PatSyn req/prov arguments together so that they're not all over the place
Unlit overlooked GHC/Conc/Sync.lhs

This is a follow-up commit to df3b1d43cc862fe03f0724a9c0ac9e7cecdf4605
Use (.) and id from Base in Control.Applicative

Control.Applicative previously imported `(.)` and `id` from `Control.Arrow`,
but then only applied them to functions.

Reviewed By: ekmett, hvr

Differential Revision: https://phabricator.haskell.org/D462
DRAFT: Implement new integer-gmp2 from scratch (re #9281)

Summary:
(preliminary commit message)

This is done as a separate integer-gmp2 backend library because it
turned out to become a complete rewrite from scratch. This has been
tested only on Linux/x86_64 so far. The code has been written while
taking into account Linux/i386 and "64-bit" Windows, but will probably
need some tweaking to get right.

Also, we don't do any autoconf stuff anymore, and rely on Cabal's
"extra-libraries: gmp" to do the right thing (which probably won't work
everywhere)

Moreover, this is currently a big huge patch, which could easily be
split into 2 or 3 commits.

Test Plan: nofib & testsuite

Reviewers: #ghc, austin

Subscribers: ekmett, simonpj, ezyang, rwbarton, phaskell, simonmar, relrod, carter

Differential Revision: https://phabricator.haskell.org/D82

GHC Trac Issues: #9281
Minor fixup in libraries/integer-gmp2/integer-gmp2.buildinfo.in
Fix bindist failure while installing HsIntegerGmp2.h
Rename GHC.Integer.GMP2.Internals to *.GMP.*
Remove obsolete references to mkGmpDerivedConstants
Rename constructor `SI#` to `S#`