Fix malformed `configure` script

Don't pass empty string `[]` as "action-if-not-given" to `AC_ARG_ENABLE()`
macro, as this would otherwise lead to an empty else-block in the resulting
bash `configure` script. This bug was introduced via cb0a503a.

This issue was pointed out by @christiaanb

Reviewed By: christiaanb

Differential Revision: https://phabricator.haskell.org/D545
Mention existence of 'Natural' in "Data.Word"

This replaces the note mentioning the lack of a `Natural`-type by a note
pointing to the new "Numeric.Natural" (#9818) module.
Uncomment the instance signatures, to activate the test
Revert "Add purgeObj() to remove the symbol table entries for an object"

This reverts commit 9e6e4796437a7fc23e83605a45db9b2663570123.

I reverted it because one of these two patches
  9e6e4796437a7fc23e83605a45db9b2663570123 Add purgeObj()
  b5e8b3b162b3ff15ae6caf1afc659565365f54a8 Make the linker API thread-safe

causes a seg-fault on Windows.  The seg-fault happens immediately
the linker is invoked, in ghci or in Template Haskell.

I believe that it is the "linker API thread-safe" commit that causes
the seg-fault; it happens even if the "purgeObj" commit alone is
reverted.  But since the two patches mess with the same code, to
revert the "linker API" patch I had revert both.
Revert "Make the linker API thread-safe"

This reverts commit b5e8b3b162b3ff15ae6caf1afc659565365f54a8.

I reverted it because one of these two patches
  9e6e4796437a7fc23e83605a45db9b2663570123 Add purgeObj()
  b5e8b3b162b3ff15ae6caf1afc659565365f54a8 Make the linker API thread-safe

causes a seg-fault on Windows.  The seg-fault happens immediately
the linker is invoked, in ghci or in Template Haskell.

I believe that it is the "linker API thread-safe" commit that causes
the seg-fault; it happens even if the "purgeObj" commit alone is
reverted.  But since the two patches mess with the same code, to
revert the "linker API" patch I had revert both.
Fix test suite race on T5462 (solves intermittent T5462Yes1/T5462Yes2/T5462No1 failure)

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
Comments and formatting in TyCon
Remove references to SynTyCon. Fixes #9812
Rename Untouchables to TcLevel

This is a long-overdue renaming
   Untouchables  -->   TcLevel
It is renaming only; no change in functionality.

We really wanted to get this done before the 7.10 fork.
Test Trac #4921
Minor refactoring of Edward's recent orphans patch (Trac #2182)

This patch is all small stuff
  - Move VisibleOrphanModules from Module to InstEnv (with the other orphan stuff)
  - Move Notes about orphans from IfaceSyn to InstEnv (ditto)
  - Make use of the record field names in InstEnvs
Fix another bug in deriving( Data ) for data families; Trac #4896

If we have

   data family D a
   data instance D (a,b,c) = ... deriving( Data )

then we want to generate

   instance ... => Data (D (a,b,c)) where
     ...
     dataCast1 x = gcast1 x

The "1" here comes from the kind of D.  But the kind of the
*representation* TyCon is

   data Drep a b c = ....

ie Drep :: * -> * -> * -> *

So we must look for the *family* TyCon in this (rather horrible)
dataCast1 / dataCast2 binding.
Unique-ify the names of top-level auxiliary bindings in derived instances (Trac #7947)

The problem and its solution are explained in
   Note [Auxiliary binders]
in TcGenDeriv
Make Natural's (.|.) really an OR operation (#9818)

Currently it's an AND when at least one of the operands is big.

Reviewed By: hvr

Differential Revision: https://phabricator.haskell.org/D549
Make `read . show = id` for Data.Fixed (fix #9240)

The QuickCheck property now succeeds:

    prop :: Fixed B7 -> Bool
    prop a = read (show a) == a

This changes the Show instance for Fixed to round up, rather than down
when calculating a digit. This needs to happen because Read also
rounds down:

    data B7

    instance HasResolution B7 where
      resolution _ = 128

    1 / 128 = 0.0078125

    read "0.007" = (0.000 :: Fixed B7)

Here is an example of the change to Show:

    showFixed False (0.009 :: Fixed B7)

    -- Broken: "0.007"
    -- Fixed:  "0.008"

And now Read can continue to round down:

    read "0.008" = (0.0078125 :: Fixed B7)

Reviewed By: hvr, ekmett

Differential Revision: https://phabricator.haskell.org/D547
Declare official GitHub home of libraries/parallel

Effective immediately, pushing to the `libraries/parallel` submodule
requires pushing via ssh://git@github.com/haskell/parallel.git.
Generate real (but empty) object files for signatures.

Summary:
It's not great, but it preserves a nice invariant that every Haskell
source file has an object file (we already have a hack in place ensure
this is the case for hs-boot files) and further ensures every package
has a library associated with it (which would not be the case if
the package had all signatures and we didn't make object files.)

Contains Cabal submodule update.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>

Test Plan: validate

Reviewers: simonpj, austin

Subscribers: carter, thomie

Differential Revision: https://phabricator.haskell.org/D548
Update 32-bit performace numbers (has not been done for ages)
Make annotations test case cleaning less aggressive

cf. a4ec0c92
Comments only