Complete refactoring of HsDecls/HsTyDefn
Make the 'extract' functions to find free type variables
of an HsType return RdrNames rather than (Located RdrNames).

This means less clutter, and the individual locations are
a bit arbitrary if a name occurs more than once.
Merge branch 'master' of http://darcs.haskell.org//ghc

Conflicts:
	compiler/hsSyn/Convert.lhs
	compiler/hsSyn/HsDecls.lhs
Remove dead code

RdrHsSyn.extractGenericPatTyVars was a leftover from the
old generic classes.
Merge with HEAD
Remove Show instance for Forest

A Forest is just a list, and we have a Show instance for
lists already.  We don't need a special Show instance for
Forests.  If we change our minds we can add a newtype,
but I don't think it's worth it.

Fixes Trac #5960
Midstream check-in on
   (i) Replaced a lot of clunky and fragile EvVar handling code with
       a more uniform ``flavor transformer'' API in the canonicalizer
       and the interaction solver. Now EvVars are just fields inside
       the CtFlavors.
   (ii) Significantly simplified our caching story
This patch does not validate yet and more refactoring is on the way.
Don't document '-fregs-liveness' or '-fllvm-tbaa', both hidden flags

No reason user should turn them off, just want for ghc developer
debugging uses.
Add a crucial forkM on the superclass context of IfaceClass in tcIfaceDecl

The absence of this was causing a loop when typechecking an interface
where the superclass context mentioned an associated type
   class C (T a) => D a where
     data T a

Fixes Trac #5970
Merge branch 'master' of http://darcs.haskell.org/ghc into ghc-new-flavor
Make the LocalRdrEnv keep track of all the Names that are in scope

This allows us to give a sensible error message when a Template Haskell
splice generates an occurrence without a binding site.

Fixes Trac #5959 and #5971
Merge branch 'master' of http://darcs.haskell.org/ghc
Fix a bug in threadStackOverflow() (maybe #5214)

If we overflow the current stack chunk and copy its entire contents
into the next stack chunk, we could end up with two UNDERFLOW_FRAMEs.
We had a special case to catch this in the case when the old stack
chunk was the last one (ending in STOP_FRAME), but it went wrong for
other chunks.

I found this bug while poking around in the core dump attached to
options and running the nofib suite: imaginary/wheel_sieve2 crashed
with +RTS -kc600 -kb300.

I don't know if this is the cause of all the symptoms reported in
threadStackOverflow: Tweak to stack chunk sizing

If the old stack is only half full, then the next chunk we allocate
will be twice as large, to accommodate large requests for stack.  In
that case, make sure that the chunk we allocate is at least as large
as the usual chunk size - there's no point allocating a 2k chunk
(double the default initial chunk size of 1k) if in the normal case we
would allocate a 32k chunk.
Slightly more informal message when EvCast fails.
Bugfixes: (i) wrong evidence generetation when using cached solved family equation
          (ii) evidence loops because of caching fixed
Small bugfix (for indexed_types/should_compile/T2291.hs). Because our
inert sets do not tolerate more than a single constraint per family head
we have to allow family interactions /with the inerts/ (not with top-level)
when the context says simplEqsOnly.
defaultKind the kind of one of the types when you create a higher-dimensional equality proof,
pretty much as we do for mkTcEqPred. Ugly and delicate but we have to rething the subkinding
story. For now I am doing the same thing as mkTcEqPred.
Merge branch 'master' of http://darcs.haskell.org/ghc into ghc-new-flavor
Add handling of LitTy. Still a TODO to deal properly with the forall case in there.