Another build ordering fix
Add an __hsbase_ prefix to the MD5 symbols (#7914)
Merge branch 'master' of http://darcs.haskell.org/packages/base
Add code to convert from representation types, to existentially quantified singletons.

The basic idea is like this:

data SomeSing where SomeSing :: SingI n => Proxy n -> SomeSing

toSing :: Integer -> Maybe SomeSing  -- Maybe, so that we rejetc -ve numbers

The actual implementation is a bit more complicated because `SomeSing`
is actually parameterized by a kind, so we really have something akin
`SomeSing k`.  Also, `toSing` is a bit more general because, depending
on the kind, the representation is different.  For example, we also
support:

toSing :: String -> Maybe (SomeSing (KindParam :: KindIs Symbol))


This change relies on the primitive added to the compiler, which
converts `Sing` values into `SingI` dictionaries.

A nice benefit of this change is that, as far as I can see,
we don't need  `unsafeSinNat` and friends, so I removed them.
Merge branch 'master' of ssh://darcs.haskell.org/srv/darcs/packages/base
Enable PolyKinds for Control.Category.

This change will allow us to make various new things instances of
Category, such as promoted tuples.

Original discussion from libraries@haskell.org:

  http://www.haskell.org/pipermail/libraries/2012-August/018268.html

Fell off the radar. No complaints in the 2 week period since being
brought up again:

  http://www.haskell.org/pipermail/libraries/2013-May/019845.html

Patch from Edward Kmett (essentially.)

Authored-by: Edward Kmett <ekmett@gmail.com>
Signed-off-by: Austin Seipp <aseipp@pobox.com>
Merge branch 'master' of ssh://darcs.haskell.org/srv/darcs/packages/base
Revert "Add code to convert from representation types, to existentially quantified singletons."

This reverts commit f7fb908ad963f7180c30b55fba57a858b0391de4.

It causes a valdiate failure:

*** Core Lint errors : in result of Simplifier ***
<no location info>: Warning:
    In the expression: f_aqM
                         (x_aqF
                          `cast` (GHC.TypeLits.NTCo:SingI[0] <k_aKs> <n_aKt>
                                  :: GHC.TypeLits.SingI k_aKs n_aKt
                                       ~#
                                     GHC.TypeLits.Sing k_aKs n_aKt))
    From-type of Cast differs from type of enclosed expression
    From-type: GHC.TypeLits.SingI k_aKs n_aKt
    Type of enclosed expr: GHC.TypeLits.Sing k_aHe n_aHf
    Actual enclosed expr: x_aqF
    Coercion used in cast: GHC.TypeLits.NTCo:SingI[0] <k_aKs> <n_aKt>
*** Offending Program ***
[...]
add Foldable and Traversable instances for Either a and (,) a

Agreed in January 2011, but not implemented:

http://thread.gmane.org/gmane.comp.lang.haskell.libraries/15196
http://thread.gmane.org/gmane.comp.lang.haskell.libraries/17686
http://thread.gmane.org/gmane.comp.lang.haskell.libraries/19594
Redo and cleanup the change replacing `unsafe*` with `toSing`
Add tests for kind-polymorphic Control.Category

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Remove an import loop
Remove some unnecessary SOURCE imports
Re-jig SOURCE imports

* Do not have have an hs-boot file for Data.Typeable
* Instead make all the loops go through
     GHC.Err (just a couple of magic functions)
     GHC.Exception (some non-exceptional functions)

The main idea is
  a) don't involve classes in the hs-boot world
  b) loop through error cases where performance doesn't matter
  c) be careful not to SOURCE import things that are bottom,
     unless MkCore knows about them in eRROR_IDS, so that we
     see their strictness
Revert accidental change
Make GHC.Err depend on GHC.Integer

GHC relies internally on GCh.Integer.Type.mkInteger from integer-gmp,
but the dependency isn't visible to the build system, so we need to
add it here.
Comments
GHC.Err is no longer a boot module; no GHC/Err.lhs-boot
Fix import warnings
Add an import to fix build ordering