Merge branch 'master' of http://darcs.haskell.org/ghc into ghc-generics
authorJose Pedro Magalhaes <jpm@cs.uu.nl>
Thu, 5 May 2011 06:11:52 +0000 (08:11 +0200)
committerJose Pedro Magalhaes <jpm@cs.uu.nl>
Thu, 5 May 2011 06:11:52 +0000 (08:11 +0200)
Fixed conflicts:
compiler/iface/IfaceSyn.lhs
compiler/typecheck/TcSMonad.lhs

1  2 
compiler/deSugar/Check.lhs
compiler/iface/IfaceSyn.lhs
compiler/main/DynFlags.hs
compiler/typecheck/TcSMonad.lhs

Simple merge
@@@ -54,22 -54,30 +54,22 @@@ infixl 3 &&
  %************************************************************************
  
  \begin{code}
- data IfaceDecl 
-   = IfaceId { ifName            :: OccName,
-             ifType      :: IfaceType, 
-             ifIdDetails :: IfaceIdDetails,
-             ifIdInfo    :: IfaceIdInfo }
-   | IfaceData { ifName       :: OccName,      -- Type constructor
-               ifTyVars     :: [IfaceTvBndr],  -- Type variables
-               ifCtxt       :: IfaceContext,   -- The "stupid theta"
-               ifCons       :: IfaceConDecls,  -- Includes new/data info
-               ifRec        :: RecFlag,        -- Recursive or not?
-               ifGadtSyntax :: Bool,           -- True <=> declared using
-                                               -- GADT syntax 
+ data IfaceDecl
+   = IfaceId { ifName      :: OccName,
+               ifType      :: IfaceType,
+               ifIdDetails :: IfaceIdDetails,
+               ifIdInfo    :: IfaceIdInfo }
+   | IfaceData { ifName       :: OccName,        -- Type constructor
+                 ifTyVars     :: [IfaceTvBndr],  -- Type variables
+                 ifCtxt       :: IfaceContext,   -- The "stupid theta"
+                 ifCons       :: IfaceConDecls,  -- Includes new/data info
+                 ifRec        :: RecFlag,        -- Recursive or not?
+                 ifGadtSyntax :: Bool,           -- True <=> declared using
+                                                 -- GADT syntax
 -                ifGeneric    :: Bool,           -- True <=> generic converter
 -                                                --          functions available
 -                                                -- We need this for imported
 -                                                -- data decls, since the
 -                                                -- imported modules may have
 -                                                -- been compiled with
 -                                                -- different flags to the
 -                                                -- current compilation unit
                  ifFamInst    :: Maybe (IfaceTyCon, [IfaceType])
                                                  -- Just <=> instance of family
-                                                 -- Invariant: 
+                                                 -- Invariant:
                                                  --   ifCons /= IfOpenDataTyCon
                                                  --   for family instances
      }
@@@ -463,26 -472,26 +464,26 @@@ pprIfaceDecl (IfaceSyn {ifName = tycon
    = hang (ptext (sLit "type family") <+> pprIfaceDeclHead [] tycon tyvars)
         4 (dcolon <+> ppr kind)
  
 -pprIfaceDecl (IfaceData {ifName = tycon, ifGeneric = gen, ifCtxt = context,
 +pprIfaceDecl (IfaceData {ifName = tycon, ifCtxt = context,
-                        ifTyVars = tyvars, ifCons = condecls, 
-                        ifRec = isrec, ifFamInst = mbFamInst})
+                          ifTyVars = tyvars, ifCons = condecls,
+                          ifRec = isrec, ifFamInst = mbFamInst})
    = hang (pp_nd <+> pprIfaceDeclHead context tycon tyvars)
 -       4 (vcat [pprRec isrec, pprGen gen, pp_condecls tycon condecls,
 +       4 (vcat [pprRec isrec, pp_condecls tycon condecls,
-               pprFamily mbFamInst])
+                 pprFamily mbFamInst])
    where
      pp_nd = case condecls of
-               IfAbstractTyCon -> ptext (sLit "data")
-               IfOpenDataTyCon -> ptext (sLit "data family")
-               IfDataTyCon _   -> ptext (sLit "data")
-               IfNewTyCon _    -> ptext (sLit "newtype")
- pprIfaceDecl (IfaceClass {ifCtxt = context, ifName = clas, ifTyVars = tyvars, 
-                         ifFDs = fds, ifATs = ats, ifSigs = sigs, 
-                         ifRec = isrec})
+                 IfAbstractTyCon -> ptext (sLit "data")
+                 IfOpenDataTyCon -> ptext (sLit "data family")
+                 IfDataTyCon _   -> ptext (sLit "data")
+                 IfNewTyCon _    -> ptext (sLit "newtype")
+ pprIfaceDecl (IfaceClass {ifCtxt = context, ifName = clas, ifTyVars = tyvars,
+                           ifFDs = fds, ifATs = ats, ifSigs = sigs,
+                           ifRec = isrec})
    = hang (ptext (sLit "class") <+> pprIfaceDeclHead context clas tyvars <+> pprFundeps fds)
         4 (vcat [pprRec isrec,
-               sep (map ppr ats),
-               sep (map ppr sigs)])
+                 sep (map ppr ats),
+                 sep (map ppr sigs)])
  
  pprRec :: RecFlag -> SDoc
  pprRec isrec = ptext (sLit "RecFlag") <+> ppr isrec
Simple merge
@@@ -101,12 -101,13 +101,13 @@@ import FastStrin
  
  import HsBinds               -- for TcEvBinds stuff 
  import Id 
 -import TcRnTypes
 -import Data.IORef
  
 -#ifdef DEBUG
+ import StaticFlags( opt_PprStyle_Debug )
 +import TcRnTypes
 +#ifdef DEBUG
  import Control.Monad( when )
  #endif
 +import Data.IORef
  \end{code}