GHC.Conc.Sync: Pass TSO to stackOverflow

Signed-off-by: Austin Seipp <aseipp@pobox.com>
length001 passes now

It no longer stack overflows, since the stack is infinite by default
now.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
EventManager: Gracefully handle an initial 'Finished' state (#8235)

Signed-off-by: Andreas Voellmy <andreas.voellmy@gmail.com>
Revert "GHC.Conc.Sync: Pass TSO to stackOverflow"

This reverts commit 0cfba06e09cae209c6fc1f94edd815ccf5a7e9d7.
Revert "length001 passes now"

This reverts commit 1be0171fc8c911a7ce3d1e3926475e789d077724.
Redo <= with a type synonym instead of a class, add instance for boolean singletons, remove (-)
Update Git repo URL in `base.cabal`

This is related to #8121
Add `Data` instance for `Data.Version`

See also

  http://permalink.gmane.org/gmane.comp.lang.haskell.libraries/20269

Patch from Edward Kmett (essentially.)

Authored-by: Edward Kmett <ekmett@gmail.com>
Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
byteSwap16/32: Narrow the result to 16/32 bits

According to primops.txt.pp, the BSwap16Op and BSwap32Op primops
leave the higher bytes of their results undefined. We must clear
those higher bytes here before storing the result in a Word16/32.

Signed-off-by: Austin Seipp <austin@well-typed.com>
Add Data.Bool.bool (fixes #8302)
Remove Hugs98 specific code

For rationale. see
 http://permalink.gmane.org/gmane.comp.lang.haskell.ghc.devel/2349

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Constant-fold `__GLASGOW_HASKELL__` CPP conditionals

Now that HUGS and NHC specific code has been removed, this commit "folds"
the now redundant `#if((n)def)`s containing `__GLASGOW_HASKELL__`.  This
renders `base` officially GHC only.

This commit also removes redundant `{-# LANGUAGE CPP #-}`.

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Make `<Typeable.h>` obsolete and refactor away its use

With GHC 7.8's PolyKinds the macros in `<Typeable.h>` are no longer of any
use, and their use is clearly obsolete. The sites using those macros are
replaced by auto-derivations of `Typeable` instances.

This reduces reliance on the CPP extension and the compile dependency on
`Typeable.h` in a couple of modules.

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Replaced Text.Printf with extensible printf, and made comcommitant changes

Signed-off-by: Joachim Breitner <mail@joachim-breitner.de>
Update use of role annotations to new syntax.
Add `{-# MINIMAL #-}` annotations to typeclasses

This makes use of the new `{-# MINIMAL #-}` facility (see #7633)
for the following typeclasses

 - `Bits`
 - `Foldable`
 - `Fractional`
 - `Num`
 - `MonadZip`
 - `Read`
 - `Show`
 - `Storable`
 - `Traversable`

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Trailing whitespaces
Follow changes in comparison primops (see #6135)
Add Haddock docs for new `class FiniteBits`
Add Haddock `/Since: 4.7.0.0/` comments to new symbols

These annotations were added in such a way, that the line

{{{
/Since: 4.7.0.0/
}}}

represents the last paragraph of the Haddock comment.

Maybe Haddock will have support for this meta-syntax at some point, and
be able to inherited the since-version property to the children of an
annotated symbol and display the since-version property in the rendered
documentation only in cases when it's not visually obvious (for
instance, when re-exporting documentation strings).

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