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.