import CmmUtils
import CLabel
import StgSyn
-import StaticFlags
import CostCentre
import Id
import Name
import DataCon
import Unique
import StaticFlags
-import FastString
-import Packages
-import Module
import Maybes
import Constants
-import Outputable
-
-import Data.Char
-import Data.Word
-
-------------------------------------------------------------------------
--
-- Generating the info table and code for a closure
#include "HsVersions.h"
import qualified ExternalCore as C
-import Char
import Module
import CoreSyn
import HscTypes
import TyCon
import TypeRep
import Type
-import PprExternalCore -- Instances
+import PprExternalCore () -- Instances
import DataCon
-import CoreSyn
import Coercion
import Var
import IdInfo
import HsSyn
import TcHsSyn
-import TcType
import DsUtils
import MatchLit
import Id
import {-# SOURCE #-} Match ( matchSinglePat )
import HsSyn
-import HsUtils
import CoreSyn
import Var
import Type
import DsMonad
import DsUtils
-import Unique
import PrelInfo
import TysWiredIn
import PrelNames
import DsUtils
import DynFlags
-import StaticFlags
import CoreUtils
import Var
import Type
import OccName
import DynFlags
import ErrUtils
-import Bag
-import OccName
import Data.IORef
import MatchCon
import MatchLit
import PrelInfo
-import TcType
import Type
import TysWiredIn
import BasicTypes
import Type
import PrelNames
import TysWiredIn
-import PrelNames
import Unique
import Literal
import SrcLoc
import Ratio
-import SrcLoc
import Outputable
import Util
import FastString
import {-# SOURCE #-} HsPat ( LPat )
import HsTypes
-import PprCore
+import PprCore ()
import Coercion
import Type
import Name
import TyCon
import Type
import Coercion
-import Outputable
import Data.List
\end{code}
import FamInstEnv
import Name
import NameEnv
-import NameSet
import MkId
import Module
import OccName
import BinIface
import Panic
-import Control.Monad (when)
import Data.List
import Data.Maybe
import Data.IORef
import HeaderInfo
import DriverPhases
import SysTools
-import qualified SysTools
import HscMain
import Finder
import HscTypes
import Data.List ( isSuffixOf )
import Data.Maybe
import System.Exit
-import System.Cmd
import System.Environment
-- ---------------------------------------------------------------------------
import Bag ( Bag, bagToList, isEmptyBag, emptyBag )
import SrcLoc ( SrcSpan )
-import Util ( sortLe, global )
+import Util ( sortLe )
import Outputable
-import qualified Pretty
import SrcLoc ( srcSpanStart, noSrcSpan )
import DynFlags ( DynFlags(..), DynFlag(..), dopt )
import StaticFlags ( opt_ErrorSpans )
import System.Exit ( ExitCode(..), exitWith )
-import System.IO ( hPutStrLn, stderr )
import Data.Dynamic
import StringBuffer ( StringBuffer(..), hGetStringBuffer, hGetStringBufferBlock
, appendStringBuffers )
import SrcLoc
-import FastString ( mkFastString )
import DynFlags
import ErrUtils
import Util
#else
import System.Process ( runInteractiveProcess, getProcessExitCode )
import Control.Concurrent( forkIO, newChan, readChan, writeChan )
-import Data.Char ( isSpace )
import FastString ( mkFastString )
import SrcLoc ( SrcLoc, mkSrcLoc, noSrcSpan, mkSrcSpan )
#endif
import PprCmm ( pprStmt, pprCmms )
import MachOp
import CLabel
-#if powerpc_TARGET_ARCH
-import CLabel ( mkRtsCodeLabel )
-#endif
import UniqFM
import Unique ( Unique, getUnique )
import UniqSupply
import FastTypes
import List ( groupBy, sortBy )
-import CLabel ( pprCLabel )
import ErrUtils ( dumpIfSet_dyn )
import DynFlags
import StaticFlags ( opt_Static, opt_PIC )
#include "HsVersions.h"
-- friends
-import NDPCoreUtils (tupleTyArgs, funTyArgs, parrElemTy, isDefault,
+import NDPCoreUtils (tupleTyArgs, funTyArgs, isDefault,
isLit, mkPArrTy, mkTuple, isSimpleExpr, substIdEnv)
import FlattenMonad (Flatten, runFlatten, mkBind, extendContext, packContext,
liftVar, liftConst, intersectWithContext, mk'fst,
- mk'lengthP, mk'replicateP, mk'mapP, mk'bpermuteDftP,
- mk'indexOfP,mk'eq,mk'neq)
+ mk'mapP, mk'bpermuteDftP, mk'indexOfP,mk'eq,mk'neq)
-- GHC
import TcType ( tcIsForAllTy, tcView )
import Var (Var(..), idType, isTyVar)
import Id (setIdType)
import DataCon (DataCon, dataConTag)
-import HscTypes ( ModGuts(..), ModGuts, HscEnv(..), hscEPS )
+import HscTypes ( ModGuts(..), HscEnv(..), hscEPS )
import CoreFVs (exprFreeVars)
-import CoreSyn (Expr(..), Bind(..), Alt(..), AltCon(..), Note(..),
+import CoreSyn (Expr(..), Bind(..), Alt, AltCon(..),
CoreBndr, CoreExpr, CoreBind, mkLams, mkLets,
mkApps, mkIntLitInt)
import PprCore (pprCoreExpr)
tokenise
) where
-import HsSyn
import Lexer hiding (Token)
import Parser ( parseIdentifier )
import StringBuffer
-import OccName
import RdrName
import SrcLoc
import DynFlags
-import DynFlags
import Char
import Numeric
module LexCore where
import ParserCoreUtils
-import Ratio
import Char
import Numeric
import Bag ( Bag, emptyBag, snocBag, consBag, foldrBag )
import Outputable
import FastString
-import Panic
import List ( isSuffixOf, nubBy )
import Monad ( unless )
#ifdef PROF_DO_BOXING
import UniqSupply ( uniqFromSupply )
#endif
-import Unique ( Unique )
import VarSet
import ListSetOps ( removeDups )
import Outputable
import TyCon
import VarEnv
import Name ( localiseName )
-import Outputable
import Util ( notNull )
import Data.IORef ( readIORef )
\end{code}
import Id ( Id )
import VarSet
import VarEnv
-import Util ( sortLe )
-import Maybes ( orElse )
-import Maybes ( expectJust )
+import Maybes ( orElse, expectJust )
import Bitmap ( intsToBitmap )
#ifdef DEBUG
import List
import Util
-import Outputable
\end{code}
\begin{code}
import TyCon
import Id
import Var ( Var, globalIdDetails, idType )
-import TyCon ( isUnboxedTupleTyCon, isPrimTyCon, isFunTyCon, isHiBootTyCon )
import IdInfo
import DataCon
import CostCentre ( noCCS )
import TcType
import TcGadt
import qualified Type
-import Id
import Var
import VarSet
import VarEnv
import SMRep
import MachOp
#endif
-import OccName
import Name
import TcType
-import ForeignCall
import DynFlags
import Outputable
import SrcLoc
import Type
import TypeRep
-import DataCon
import Var
import VarEnv
import VarSet
import TcRnMonad
import Type
import TcType
-import qualified Type
import TcMType
import TysPrim
import TysWiredIn
import TyCon
-import {- Kind parts of -} Type
import Name
import Var
import VarSet
import IdInfo
import {- Kind parts of -} Type
import BasicTypes
+import Foreign.Ptr( Ptr )
#endif
import FastString
import Control.Monad ( unless )
import Data.Maybe ( isJust )
-import Foreign.Ptr ( Ptr )
\end{code}
import FastString
import FastMutInt
-import Panic ( panic )
import Control.Monad ( when )
import Data.Char ( ord )
import System.IO
import GHC.IOBase ( IO(..) )
-import System.IO ( hPutBuf )
import GHC.Ptr ( Ptr(..) )
import GHC.Exts ( Int(..), Int#, Addr# )
#endif
import Control.Exception
-import Control.Concurrent ( myThreadId, MVar, ThreadId, withMVar, newMVar )
+import Control.Concurrent ( MVar, ThreadId, withMVar, newMVar )
import Data.Dynamic
import qualified Control.Exception as Exception
import Debug.Trace ( trace )