Don't include `{Event,HsUnix}Config.h` in source distribution

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
GHC.Conc.Sync: Pass TSO to stackOverflow
Run length001 test with +RTS -K8m

Otherwise it uses excessive amounts of stack space (~1GB at peak) when
compiled without -O.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Implement SPEC for SpecConstr as a built in type.

Signed-off-by: Austin Seipp <austin@well-typed.com>
Add actual documentation for new SPEC type.

Signed-off-by: Austin Seipp <austin@well-typed.com>
Placate clang.

I forgot to push this as part of #8444.

Signed-off-by: Austin Seipp <austin@well-typed.com>
Add missing `{-# LANGUAGE #-}` pragmas

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Modernize `ghc-prim.cabal` to `cabal-version>=1.10`

This also removes the use of `makefileHook` in `Setup.hs` which was
dropped from the `Cabal` API

Note: This cleanups make `ghc-prim` almost a proper Cabal package;
`cabal sdist` still needs to be tweaked to change `build-type` to
`Simple`, to make the resulting ghc-prim source distribution package
self-contained.
Update aux files `config.{guess,sub}` and `install-sh`

This updates the files to the versions bundled with GNU automake 1.13.3

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Update `bug-reports` URL and version constraints

This also sets the Hackage `Category` to `Prelude` as `base`
obviously provides a `Prelude` module.

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Add overlooked language extensions to `IntWord64.hs`

This was overseen in b07b88e5d5c3ccd1508b235688f751408636c49e
as the extensions are only needed when compiling for 32-bit archs.

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Add side-channel attack resilient `powModSecInteger`

This is a follow-up to 97c101b7363f84d925a600acb56a9fa3a997ea0d which
introduced the "ordinary" `powModInteger` operation.

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Changed export list to create better haddock. Added eqT to exports.
Name changes and addition of gcastWith and (==) to Data.Type.Equality.

For more info, see
http://ghc.haskell.org/trac/ghc/wiki/TypeLevelNamingIssues
Name change `CoercionT` to `CoercionType`, and addition of `repr`.

`repr` converts a `(:~:)` to a `Coercion`. Name changes are as discussed
on http://ghc.haskell.org/trac/ghc/wiki/TypeLevelNamingIssues
Apply Gabor Lehel's suggestions.
Expose two GMP primality operations

This exposes `mpz_probab_prime_p()` and `mpz_nextprime()` as
`testPrimeInteger` and `nextPrimeInteger` respectively and is especially
useful for cryptographic algorithms such as RSA.

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Add new module Data.Type.Bool, defining &&, || and Not.

This change was necessary given the instances for (==) in
Data.Type.Equality. These need conjunction, and a local
definition of conjunction doesn't work if a client is reasoning
about equality. Both the client and the library need the
same conjunction, so that is what Data.Type.Bool provides.
Add a couple of `/Since: 4.7.0.0/` annotations

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Export abstract `Text.Read.Lex.Number` type

This fixes some "could not find link destinations" Haddock warnings and seems to
the "right thing to do". The since-annotation for `Number` is changed as the `Number`
has becomes referencable in user code only w/ 4.7.0.0 even though it existed already
in 4.6.0.0.

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>