From 86b97832f5ccf79554b630e004f6be1611179e76 Mon Sep 17 00:00:00 2001
From: simonm <unknown>
Date: Thu, 4 Dec 1997 11:05:58 +0000
Subject: [PATCH] [project @ 1997-12-04 11:05:32 by simonm] Remove wired-in
 runST, instead provide a type signature using the universal quanitification
 extension.

Also move runST from STBase.lhs into Unsafe.lhs so that it won't get
inlined anywhere.
---
 ghc/compiler/basicTypes/Unique.lhs |    2 -
 ghc/compiler/prelude/PrelInfo.lhs  |    1 -
 ghc/compiler/prelude/PrelVals.lhs  |   85 ---
 ghc/lib/.depend                    | 1042 ++++++++++++++++++++++++++++
 ghc/lib/ghc/ArrBase.lhs            |    1 +
 ghc/lib/ghc/STBase.lhs             |    4 -
 ghc/lib/ghc/Unsafe.lhs             |   43 +-
 7 files changed, 1085 insertions(+), 93 deletions(-)
 create mode 100644 ghc/lib/.depend

diff --git a/ghc/compiler/basicTypes/Unique.lhs b/ghc/compiler/basicTypes/Unique.lhs
index 030328b28768..34d05c48baf9 100644
--- a/ghc/compiler/basicTypes/Unique.lhs
+++ b/ghc/compiler/basicTypes/Unique.lhs
@@ -150,7 +150,6 @@ module Unique (
 	returnIntAndGMPDataConKey,
 	returnIntAndGMPTyConKey,
 	returnMClassOpKey,
-	runSTIdKey,
 	seqIdKey,
 	showClassKey,
 	showParenIdKey,
@@ -667,7 +666,6 @@ readParenIdKey		      = mkPreludeMiscIdUnique 28
 realWorldPrimIdKey	      = mkPreludeMiscIdUnique 29
 recConErrorIdKey	      = mkPreludeMiscIdUnique 30
 recUpdErrorIdKey	      = mkPreludeMiscIdUnique 31
-runSTIdKey		      = mkPreludeMiscIdUnique 32
 seqIdKey		      = mkPreludeMiscIdUnique 33
 showParenIdKey		      = mkPreludeMiscIdUnique 34
 showSpaceIdKey		      = mkPreludeMiscIdUnique 35
diff --git a/ghc/compiler/prelude/PrelInfo.lhs b/ghc/compiler/prelude/PrelInfo.lhs
index cd531f297444..4a894b80cc0c 100644
--- a/ghc/compiler/prelude/PrelInfo.lhs
+++ b/ghc/compiler/prelude/PrelInfo.lhs
@@ -221,7 +221,6 @@ wired_in_ids
     , rEC_CON_ERROR_ID
     , rEC_UPD_ERROR_ID
     , realWorldPrimId
-    , runSTId
     , tRACE_ID
     , unpackCString2Id
     , unpackCStringAppendId
diff --git a/ghc/compiler/prelude/PrelVals.lhs b/ghc/compiler/prelude/PrelVals.lhs
index dbed539f4f8e..d5ecd9c8ac0f 100644
--- a/ghc/compiler/prelude/PrelVals.lhs
+++ b/ghc/compiler/prelude/PrelVals.lhs
@@ -492,91 +492,6 @@ noFollowId = pcMiscPrelId noFollowIdKey cONC_BASE SLIT("noFollow")
 -}
 \end{code}
 
-%************************************************************************
-%*									*
-\subsection[PrelVals-runST]{@runST@: Magic start-state-transformer function}
-%*									*
-%************************************************************************
-
-@runST@ has a non-Haskell-able type:
-\begin{verbatim}
--- runST :: forall a. (forall s. _ST s a) -> a
--- which is to say ::
---	     forall a. (forall s. (_State s -> (a, _State s))) -> a
-
-runST a m = case m _RealWorld (S# _RealWorld realWorld#) of
-	       (r :: a, wild :: _State _RealWorld) -> r
-\end{verbatim}
-
-We unfold always, just for simplicity:
-\begin{code}
-runSTId
-  = pcMiscPrelId runSTIdKey sT_BASE SLIT("runST") run_ST_ty id_info
-  where
-    s_tv = betaTyVar
-    s	 = betaTy
-
-    st_ty a = mkSigmaTy [s_tv] [] (mkStateTransformerTy s a)
-
-    run_ST_ty
-      = mkSigmaTy [alphaTyVar] [] (mkFunTys [st_ty alphaTy] alphaTy)
-	    -- NB: rank-2 polymorphism! (forall inside the st_ty...)
-
-    id_info
-      = noIdInfo
-	`addArityInfo` exactArity 1
-	`addStrictnessInfo` mkStrictnessInfo [WwStrict] False
-	`addArgUsageInfo` mkArgUsageInfo [ArgUsage 1]
-	-- ABSOLUTELY NO UNFOLDING, e.g.: (mk_inline_unfolding run_ST_template)
-	-- see example below
-{- OUT:
-    [m, t, r, wild]
-      = mkTemplateLocals [
-	{-m-} st_ty alphaTy,
-	{-t-} realWorldStateTy,
-	{-r-} alphaTy,
-	{-_-} realWorldStateTy
-	]
-
-    run_ST_template
-      = mkLam [alphaTyVar] [m] (
-	    Let (NonRec t (Con stateDataCon [TyArg realWorldTy, VarArg realWorldPrimId])) (
-	      Case (App (mkTyApp (Var m) [realWorldTy]) (VarArg t)) (
-		AlgAlts
-		  [(pairDataCon, [r, wild], Var r)]
-		  NoDefault)))
--}
-\end{code}
-
-SLPJ 95/04: Why @runST@ must not have an unfolding; consider:
-\begin{verbatim}
-f x =
-  runST ( \ s -> let
-		    (a, s')  = newArray# 100 [] s
-		    (_, s'') = fill_in_array_or_something a x s'
-		  in
-		  freezeArray# a s'' )
-\end{verbatim}
-If we inline @runST@, we'll get:
-\begin{verbatim}
-f x = let
-	(a, s')  = newArray# 100 [] realWorld#{-NB-}
-	(_, s'') = fill_in_array_or_something a x s'
-      in
-      freezeArray# a s''
-\end{verbatim}
-And now the @newArray#@ binding can be floated to become a CAF, which
-is totally and utterly wrong:
-\begin{verbatim}
-f = let
-    (a, s')  = newArray# 100 [] realWorld#{-NB-} -- YIKES!!!
-    in
-    \ x ->
-	let (_, s'') = fill_in_array_or_something a x s' in
-	freezeArray# a s''
-\end{verbatim}
-All calls to @f@ will share a {\em single} array!  End SLPJ 95/04.
-
 @realWorld#@ used to be a magic literal, \tr{void#}.  If things get
 nasty as-is, change it back to a literal (@Literal@).
 \begin{code}
diff --git a/ghc/lib/.depend b/ghc/lib/.depend
new file mode 100644
index 000000000000..5869379a5b73
--- /dev/null
+++ b/ghc/lib/.depend
@@ -0,0 +1,1042 @@
+# DO NOT DELETE: Beginning of Haskell dependencies
+ghc/ArrBase.o ghc/ArrBase.mc_o ghc/ArrBase.p_o ghc/ArrBase.t_o : ghc/ArrBase.lhs
+ghc/ArrBase.o ghc/ArrBase.mc_o ghc/ArrBase.p_o ghc/ArrBase.t_o : ghc/Error.hi-boot
+ghc/ArrBase.o : required/Ix.hi
+ghc/ArrBase.mc_o : required/Ix.mc_hi
+ghc/ArrBase.p_o : required/Ix.p_hi
+ghc/ArrBase.t_o : required/Ix.t_hi
+ghc/ArrBase.o : ghc/PrelList.hi
+ghc/ArrBase.mc_o : ghc/PrelList.mc_hi
+ghc/ArrBase.p_o : ghc/PrelList.p_hi
+ghc/ArrBase.t_o : ghc/PrelList.t_hi
+ghc/ArrBase.o : ghc/STBase.hi
+ghc/ArrBase.mc_o : ghc/STBase.mc_hi
+ghc/ArrBase.p_o : ghc/STBase.p_hi
+ghc/ArrBase.t_o : ghc/STBase.t_hi
+ghc/ArrBase.o : ghc/PrelBase.hi
+ghc/ArrBase.mc_o : ghc/PrelBase.mc_hi
+ghc/ArrBase.p_o : ghc/PrelBase.p_hi
+ghc/ArrBase.t_o : ghc/PrelBase.t_hi
+ghc/ArrBase.o : glaExts/CCall.hi
+ghc/ArrBase.mc_o : glaExts/CCall.mc_hi
+ghc/ArrBase.p_o : glaExts/CCall.p_hi
+ghc/ArrBase.t_o : glaExts/CCall.t_hi
+ghc/ArrBase.o : glaExts/Addr.hi
+ghc/ArrBase.mc_o : glaExts/Addr.mc_hi
+ghc/ArrBase.p_o : glaExts/Addr.p_hi
+ghc/ArrBase.t_o : glaExts/Addr.t_hi
+ghc/ArrBase.o : ghc/Unsafe.hi
+ghc/ArrBase.mc_o : ghc/Unsafe.mc_hi
+ghc/ArrBase.p_o : ghc/Unsafe.p_hi
+ghc/ArrBase.t_o : ghc/Unsafe.t_hi
+ghc/ArrBase.o : ghc/GHC.hi
+ghc/ArrBase.mc_o : ghc/GHC.mc_hi
+ghc/ArrBase.p_o : ghc/GHC.p_hi
+ghc/ArrBase.t_o : ghc/GHC.t_hi
+ghc/ConcBase.o ghc/ConcBase.mc_o ghc/ConcBase.p_o ghc/ConcBase.t_o : ghc/ConcBase.lhs
+ghc/ConcBase.o : ghc/PrelBase.hi
+ghc/ConcBase.mc_o : ghc/PrelBase.mc_hi
+ghc/ConcBase.p_o : ghc/PrelBase.p_hi
+ghc/ConcBase.t_o : ghc/PrelBase.t_hi
+ghc/ConcBase.o : ghc/STBase.hi
+ghc/ConcBase.mc_o : ghc/STBase.mc_hi
+ghc/ConcBase.p_o : ghc/STBase.p_hi
+ghc/ConcBase.t_o : ghc/STBase.t_hi
+ghc/ConcBase.o : ghc/IOBase.hi
+ghc/ConcBase.mc_o : ghc/IOBase.mc_hi
+ghc/ConcBase.p_o : ghc/IOBase.p_hi
+ghc/ConcBase.t_o : ghc/IOBase.t_hi
+ghc/ConcBase.o : ghc/GHCerr.hi
+ghc/ConcBase.mc_o : ghc/GHCerr.mc_hi
+ghc/ConcBase.p_o : ghc/GHCerr.p_hi
+ghc/ConcBase.t_o : ghc/GHCerr.t_hi
+ghc/ConcBase.o : ghc/PrelBase.hi
+ghc/ConcBase.mc_o : ghc/PrelBase.mc_hi
+ghc/ConcBase.p_o : ghc/PrelBase.p_hi
+ghc/ConcBase.t_o : ghc/PrelBase.t_hi
+ghc/ConcBase.o : ghc/GHC.hi
+ghc/ConcBase.mc_o : ghc/GHC.mc_hi
+ghc/ConcBase.p_o : ghc/GHC.p_hi
+ghc/ConcBase.t_o : ghc/GHC.t_hi
+ghc/Error.o ghc/Error.mc_o ghc/Error.p_o ghc/Error.t_o : ghc/Error.lhs
+ghc/Error.o : ghc/PrelBase.hi
+ghc/Error.mc_o : ghc/PrelBase.mc_hi
+ghc/Error.p_o : ghc/PrelBase.p_hi
+ghc/Error.t_o : ghc/PrelBase.t_hi
+ghc/Error.o : ghc/IOBase.hi
+ghc/Error.mc_o : ghc/IOBase.mc_hi
+ghc/Error.p_o : ghc/IOBase.p_hi
+ghc/Error.t_o : ghc/IOBase.t_hi
+ghc/Error.o : glaExts/Foreign.hi
+ghc/Error.mc_o : glaExts/Foreign.mc_hi
+ghc/Error.p_o : glaExts/Foreign.p_hi
+ghc/Error.t_o : glaExts/Foreign.t_hi
+ghc/Error.o : glaExts/Addr.hi
+ghc/Error.mc_o : glaExts/Addr.mc_hi
+ghc/Error.p_o : glaExts/Addr.p_hi
+ghc/Error.t_o : glaExts/Addr.t_hi
+ghc/GHCerr.o ghc/GHCerr.mc_o ghc/GHCerr.p_o ghc/GHCerr.t_o : ghc/GHCerr.lhs
+ghc/GHCerr.o : ghc/PrelBase.hi
+ghc/GHCerr.mc_o : ghc/PrelBase.mc_hi
+ghc/GHCerr.p_o : ghc/PrelBase.p_hi
+ghc/GHCerr.t_o : ghc/PrelBase.t_hi
+ghc/GHCerr.o : ghc/PrelList.hi
+ghc/GHCerr.mc_o : ghc/PrelList.mc_hi
+ghc/GHCerr.p_o : ghc/PrelList.p_hi
+ghc/GHCerr.t_o : ghc/PrelList.t_hi
+ghc/GHCerr.o : ghc/Error.hi
+ghc/GHCerr.mc_o : ghc/Error.mc_hi
+ghc/GHCerr.p_o : ghc/Error.p_hi
+ghc/GHCerr.t_o : ghc/Error.t_hi
+ghc/GHCmain.o ghc/GHCmain.mc_o ghc/GHCmain.p_o ghc/GHCmain.t_o : ghc/GHCmain.lhs
+ghc/GHCmain.o : required/Prelude.hi
+ghc/GHCmain.mc_o : required/Prelude.mc_hi
+ghc/GHCmain.p_o : required/Prelude.p_hi
+ghc/GHCmain.t_o : required/Prelude.t_hi
+ghc/GHCmain.o ghc/GHCmain.mc_o ghc/GHCmain.p_o ghc/GHCmain.t_o : ghc/Main.hi-boot
+ghc/IOBase.o ghc/IOBase.mc_o ghc/IOBase.p_o ghc/IOBase.t_o : ghc/IOBase.lhs
+ghc/IOBase.o ghc/IOBase.mc_o ghc/IOBase.p_o ghc/IOBase.t_o : ghc/Error.hi-boot
+ghc/IOBase.o : ghc/STBase.hi
+ghc/IOBase.mc_o : ghc/STBase.mc_hi
+ghc/IOBase.p_o : ghc/STBase.p_hi
+ghc/IOBase.t_o : ghc/STBase.t_hi
+ghc/IOBase.o : ghc/PrelTup.hi
+ghc/IOBase.mc_o : ghc/PrelTup.mc_hi
+ghc/IOBase.p_o : ghc/PrelTup.p_hi
+ghc/IOBase.t_o : ghc/PrelTup.t_hi
+ghc/IOBase.o : glaExts/Addr.hi
+ghc/IOBase.mc_o : glaExts/Addr.mc_hi
+ghc/IOBase.p_o : glaExts/Addr.p_hi
+ghc/IOBase.t_o : glaExts/Addr.t_hi
+ghc/IOBase.o : ghc/PackBase.hi
+ghc/IOBase.mc_o : ghc/PackBase.mc_hi
+ghc/IOBase.p_o : ghc/PackBase.p_hi
+ghc/IOBase.t_o : ghc/PackBase.t_hi
+ghc/IOBase.o : ghc/PrelBase.hi
+ghc/IOBase.mc_o : ghc/PrelBase.mc_hi
+ghc/IOBase.p_o : ghc/PrelBase.p_hi
+ghc/IOBase.t_o : ghc/PrelBase.t_hi
+ghc/IOBase.o : ghc/ArrBase.hi
+ghc/IOBase.mc_o : ghc/ArrBase.mc_hi
+ghc/IOBase.p_o : ghc/ArrBase.p_hi
+ghc/IOBase.t_o : ghc/ArrBase.t_hi
+ghc/IOBase.o : ghc/GHC.hi
+ghc/IOBase.mc_o : ghc/GHC.mc_hi
+ghc/IOBase.p_o : ghc/GHC.p_hi
+ghc/IOBase.t_o : ghc/GHC.t_hi
+ghc/IOHandle.o ghc/IOHandle.mc_o ghc/IOHandle.p_o ghc/IOHandle.t_o : ghc/IOHandle.lhs
+ghc/IOHandle.o : glaExts/ST.hi
+ghc/IOHandle.mc_o : glaExts/ST.mc_hi
+ghc/IOHandle.p_o : glaExts/ST.p_hi
+ghc/IOHandle.t_o : glaExts/ST.t_hi
+ghc/IOHandle.o : ghc/STBase.hi
+ghc/IOHandle.mc_o : ghc/STBase.mc_hi
+ghc/IOHandle.p_o : ghc/STBase.p_hi
+ghc/IOHandle.t_o : ghc/STBase.t_hi
+ghc/IOHandle.o : ghc/ArrBase.hi
+ghc/IOHandle.mc_o : ghc/ArrBase.mc_hi
+ghc/IOHandle.p_o : ghc/ArrBase.p_hi
+ghc/IOHandle.t_o : ghc/ArrBase.t_hi
+ghc/IOHandle.o : ghc/PrelRead.hi
+ghc/IOHandle.mc_o : ghc/PrelRead.mc_hi
+ghc/IOHandle.p_o : ghc/PrelRead.p_hi
+ghc/IOHandle.t_o : ghc/PrelRead.t_hi
+ghc/IOHandle.o : ghc/PrelList.hi
+ghc/IOHandle.mc_o : ghc/PrelList.mc_hi
+ghc/IOHandle.p_o : ghc/PrelList.p_hi
+ghc/IOHandle.t_o : ghc/PrelList.t_hi
+ghc/IOHandle.o : required/Ix.hi
+ghc/IOHandle.mc_o : required/Ix.mc_hi
+ghc/IOHandle.p_o : required/Ix.p_hi
+ghc/IOHandle.t_o : required/Ix.t_hi
+ghc/IOHandle.o : ghc/IOBase.hi
+ghc/IOHandle.mc_o : ghc/IOBase.mc_hi
+ghc/IOHandle.p_o : ghc/IOBase.p_hi
+ghc/IOHandle.t_o : ghc/IOBase.t_hi
+ghc/IOHandle.o : ghc/Unsafe.hi
+ghc/IOHandle.mc_o : ghc/Unsafe.mc_hi
+ghc/IOHandle.p_o : ghc/Unsafe.p_hi
+ghc/IOHandle.t_o : ghc/Unsafe.t_hi
+ghc/IOHandle.o : ghc/PrelTup.hi
+ghc/IOHandle.mc_o : ghc/PrelTup.mc_hi
+ghc/IOHandle.p_o : ghc/PrelTup.p_hi
+ghc/IOHandle.t_o : ghc/PrelTup.t_hi
+ghc/IOHandle.o : ghc/PrelBase.hi
+ghc/IOHandle.mc_o : ghc/PrelBase.mc_hi
+ghc/IOHandle.p_o : ghc/PrelBase.p_hi
+ghc/IOHandle.t_o : ghc/PrelBase.t_hi
+ghc/IOHandle.o : ghc/GHC.hi
+ghc/IOHandle.mc_o : ghc/GHC.mc_hi
+ghc/IOHandle.p_o : ghc/GHC.p_hi
+ghc/IOHandle.t_o : ghc/GHC.t_hi
+ghc/IOHandle.o : glaExts/Addr.hi
+ghc/IOHandle.mc_o : glaExts/Addr.mc_hi
+ghc/IOHandle.p_o : glaExts/Addr.p_hi
+ghc/IOHandle.t_o : glaExts/Addr.t_hi
+ghc/IOHandle.o : ghc/Error.hi
+ghc/IOHandle.mc_o : ghc/Error.mc_hi
+ghc/IOHandle.p_o : ghc/Error.p_hi
+ghc/IOHandle.t_o : ghc/Error.t_hi
+ghc/IOHandle.o : glaExts/Foreign.hi
+ghc/IOHandle.mc_o : glaExts/Foreign.mc_hi
+ghc/IOHandle.p_o : glaExts/Foreign.p_hi
+ghc/IOHandle.t_o : glaExts/Foreign.t_hi
+ghc/PackBase.o ghc/PackBase.mc_o ghc/PackBase.p_o ghc/PackBase.t_o : ghc/PackBase.lhs
+ghc/PackBase.o : ghc/PrelBase.hi
+ghc/PackBase.mc_o : ghc/PrelBase.mc_hi
+ghc/PackBase.p_o : ghc/PrelBase.p_hi
+ghc/PackBase.t_o : ghc/PrelBase.t_hi
+ghc/PackBase.o ghc/PackBase.mc_o ghc/PackBase.p_o ghc/PackBase.t_o : ghc/Error.hi-boot
+ghc/PackBase.o : ghc/PrelList.hi
+ghc/PackBase.mc_o : ghc/PrelList.mc_hi
+ghc/PackBase.p_o : ghc/PrelList.p_hi
+ghc/PackBase.t_o : ghc/PrelList.t_hi
+ghc/PackBase.o : ghc/STBase.hi
+ghc/PackBase.mc_o : ghc/STBase.mc_hi
+ghc/PackBase.p_o : ghc/STBase.p_hi
+ghc/PackBase.t_o : ghc/STBase.t_hi
+ghc/PackBase.o : ghc/ArrBase.hi
+ghc/PackBase.mc_o : ghc/ArrBase.mc_hi
+ghc/PackBase.p_o : ghc/ArrBase.p_hi
+ghc/PackBase.t_o : ghc/ArrBase.t_hi
+ghc/PackBase.o : glaExts/Addr.hi
+ghc/PackBase.mc_o : glaExts/Addr.mc_hi
+ghc/PackBase.p_o : glaExts/Addr.p_hi
+ghc/PackBase.t_o : glaExts/Addr.t_hi
+ghc/PrelBase.o ghc/PrelBase.mc_o ghc/PrelBase.p_o ghc/PrelBase.t_o : ghc/PrelBase.lhs
+ghc/PrelBase.o ghc/PrelBase.mc_o ghc/PrelBase.p_o ghc/PrelBase.t_o : ghc/Error.hi-boot
+ghc/PrelBase.o : ghc/GHC.hi
+ghc/PrelBase.mc_o : ghc/GHC.mc_hi
+ghc/PrelBase.p_o : ghc/GHC.p_hi
+ghc/PrelBase.t_o : ghc/GHC.t_hi
+ghc/PrelIO.o ghc/PrelIO.mc_o ghc/PrelIO.p_o ghc/PrelIO.t_o : ghc/PrelIO.lhs
+ghc/PrelIO.o : required/IO.hi
+ghc/PrelIO.mc_o : required/IO.mc_hi
+ghc/PrelIO.p_o : required/IO.p_hi
+ghc/PrelIO.t_o : required/IO.t_hi
+ghc/PrelIO.o : ghc/IOHandle.hi
+ghc/PrelIO.mc_o : ghc/IOHandle.mc_hi
+ghc/PrelIO.p_o : ghc/IOHandle.p_hi
+ghc/PrelIO.t_o : ghc/IOHandle.t_hi
+ghc/PrelIO.o : ghc/IOBase.hi
+ghc/PrelIO.mc_o : ghc/IOBase.mc_hi
+ghc/PrelIO.p_o : ghc/IOBase.p_hi
+ghc/PrelIO.t_o : ghc/IOBase.t_hi
+ghc/PrelIO.o : ghc/PrelBase.hi
+ghc/PrelIO.mc_o : ghc/PrelBase.mc_hi
+ghc/PrelIO.p_o : ghc/PrelBase.p_hi
+ghc/PrelIO.t_o : ghc/PrelBase.t_hi
+ghc/PrelIO.o : ghc/PrelRead.hi
+ghc/PrelIO.mc_o : ghc/PrelRead.mc_hi
+ghc/PrelIO.p_o : ghc/PrelRead.p_hi
+ghc/PrelIO.t_o : ghc/PrelRead.t_hi
+ghc/PrelList.o ghc/PrelList.mc_o ghc/PrelList.p_o ghc/PrelList.t_o : ghc/PrelList.lhs
+ghc/PrelList.o ghc/PrelList.mc_o ghc/PrelList.p_o ghc/PrelList.t_o : ghc/Error.hi-boot
+ghc/PrelList.o : ghc/PrelTup.hi
+ghc/PrelList.mc_o : ghc/PrelTup.mc_hi
+ghc/PrelList.p_o : ghc/PrelTup.p_hi
+ghc/PrelList.t_o : ghc/PrelTup.t_hi
+ghc/PrelList.o : ghc/PrelBase.hi
+ghc/PrelList.mc_o : ghc/PrelBase.mc_hi
+ghc/PrelList.p_o : ghc/PrelBase.p_hi
+ghc/PrelList.t_o : ghc/PrelBase.t_hi
+ghc/PrelNum.o ghc/PrelNum.mc_o ghc/PrelNum.p_o ghc/PrelNum.t_o : ghc/PrelNum.lhs
+ghc/PrelNum.o : ghc/PrelBase.hi
+ghc/PrelNum.mc_o : ghc/PrelBase.mc_hi
+ghc/PrelNum.p_o : ghc/PrelBase.p_hi
+ghc/PrelNum.t_o : ghc/PrelBase.t_hi
+ghc/PrelNum.o : ghc/GHC.hi
+ghc/PrelNum.mc_o : ghc/GHC.mc_hi
+ghc/PrelNum.p_o : ghc/GHC.p_hi
+ghc/PrelNum.t_o : ghc/GHC.t_hi
+ghc/PrelNum.o ghc/PrelNum.mc_o ghc/PrelNum.p_o ghc/PrelNum.t_o : ghc/Error.hi-boot
+ghc/PrelNum.o : ghc/PrelList.hi
+ghc/PrelNum.mc_o : ghc/PrelList.mc_hi
+ghc/PrelNum.p_o : ghc/PrelList.p_hi
+ghc/PrelNum.t_o : ghc/PrelList.t_hi
+ghc/PrelNum.o : ghc/ArrBase.hi
+ghc/PrelNum.mc_o : ghc/ArrBase.mc_hi
+ghc/PrelNum.p_o : ghc/ArrBase.p_hi
+ghc/PrelNum.t_o : ghc/ArrBase.t_hi
+ghc/PrelNum.o : ghc/Unsafe.hi
+ghc/PrelNum.mc_o : ghc/Unsafe.mc_hi
+ghc/PrelNum.p_o : ghc/Unsafe.p_hi
+ghc/PrelNum.t_o : ghc/Unsafe.t_hi
+ghc/PrelNum.o : required/Ix.hi
+ghc/PrelNum.mc_o : required/Ix.mc_hi
+ghc/PrelNum.p_o : required/Ix.p_hi
+ghc/PrelNum.t_o : required/Ix.t_hi
+ghc/PrelNum.o : glaExts/CCall.hi
+ghc/PrelNum.mc_o : glaExts/CCall.mc_hi
+ghc/PrelNum.p_o : glaExts/CCall.p_hi
+ghc/PrelNum.t_o : glaExts/CCall.t_hi
+ghc/PrelRead.o ghc/PrelRead.mc_o ghc/PrelRead.p_o ghc/PrelRead.t_o : ghc/PrelRead.lhs
+ghc/PrelRead.o ghc/PrelRead.mc_o ghc/PrelRead.p_o ghc/PrelRead.t_o : ghc/Error.hi-boot
+ghc/PrelRead.o : ghc/PrelNum.hi
+ghc/PrelRead.mc_o : ghc/PrelNum.mc_hi
+ghc/PrelRead.p_o : ghc/PrelNum.p_hi
+ghc/PrelRead.t_o : ghc/PrelNum.t_hi
+ghc/PrelRead.o : ghc/PrelList.hi
+ghc/PrelRead.mc_o : ghc/PrelList.mc_hi
+ghc/PrelRead.p_o : ghc/PrelList.p_hi
+ghc/PrelRead.t_o : ghc/PrelList.t_hi
+ghc/PrelRead.o : ghc/PrelTup.hi
+ghc/PrelRead.mc_o : ghc/PrelTup.mc_hi
+ghc/PrelRead.p_o : ghc/PrelTup.p_hi
+ghc/PrelRead.t_o : ghc/PrelTup.t_hi
+ghc/PrelRead.o : ghc/PrelBase.hi
+ghc/PrelRead.mc_o : ghc/PrelBase.mc_hi
+ghc/PrelRead.p_o : ghc/PrelBase.p_hi
+ghc/PrelRead.t_o : ghc/PrelBase.t_hi
+ghc/PrelTup.o ghc/PrelTup.mc_o ghc/PrelTup.p_o ghc/PrelTup.t_o : ghc/PrelTup.lhs
+ghc/PrelTup.o ghc/PrelTup.mc_o ghc/PrelTup.p_o ghc/PrelTup.t_o : ghc/Error.hi-boot
+ghc/PrelTup.o : ghc/PrelBase.hi
+ghc/PrelTup.mc_o : ghc/PrelBase.mc_hi
+ghc/PrelTup.p_o : ghc/PrelBase.p_hi
+ghc/PrelTup.t_o : ghc/PrelBase.t_hi
+ghc/STBase.o ghc/STBase.mc_o ghc/STBase.p_o ghc/STBase.t_o : ghc/STBase.lhs
+ghc/STBase.o : required/Monad.hi
+ghc/STBase.mc_o : required/Monad.mc_hi
+ghc/STBase.p_o : required/Monad.p_hi
+ghc/STBase.t_o : required/Monad.t_hi
+ghc/STBase.o : ghc/PrelBase.hi
+ghc/STBase.mc_o : ghc/PrelBase.mc_hi
+ghc/STBase.p_o : ghc/PrelBase.p_hi
+ghc/STBase.t_o : ghc/PrelBase.t_hi
+ghc/STBase.o : ghc/GHC.hi
+ghc/STBase.mc_o : ghc/GHC.mc_hi
+ghc/STBase.p_o : ghc/GHC.p_hi
+ghc/STBase.t_o : ghc/GHC.t_hi
+ghc/Unsafe.o ghc/Unsafe.mc_o ghc/Unsafe.p_o ghc/Unsafe.t_o : ghc/Unsafe.lhs
+ghc/Unsafe.o : ghc/PrelBase.hi
+ghc/Unsafe.mc_o : ghc/PrelBase.mc_hi
+ghc/Unsafe.p_o : ghc/PrelBase.p_hi
+ghc/Unsafe.t_o : ghc/PrelBase.t_hi
+ghc/Unsafe.o : ghc/IOBase.hi
+ghc/Unsafe.mc_o : ghc/IOBase.mc_hi
+ghc/Unsafe.p_o : ghc/IOBase.p_hi
+ghc/Unsafe.t_o : ghc/IOBase.t_hi
+ghc/Unsafe.o : ghc/STBase.hi
+ghc/Unsafe.mc_o : ghc/STBase.mc_hi
+ghc/Unsafe.p_o : ghc/STBase.p_hi
+ghc/Unsafe.t_o : ghc/STBase.t_hi
+ghc/Unsafe.o : glaExts/Addr.hi
+ghc/Unsafe.mc_o : glaExts/Addr.mc_hi
+ghc/Unsafe.p_o : glaExts/Addr.p_hi
+ghc/Unsafe.t_o : glaExts/Addr.t_hi
+ghc/Unsafe.o ghc/Unsafe.mc_o ghc/Unsafe.p_o ghc/Unsafe.t_o : ghc/Error.hi-boot
+required/Array.o required/Array.mc_o required/Array.p_o required/Array.t_o : required/Array.lhs
+required/Array.o : required/Ix.hi
+required/Array.mc_o : required/Ix.mc_hi
+required/Array.p_o : required/Ix.p_hi
+required/Array.t_o : required/Ix.t_hi
+required/Array.o : ghc/PrelList.hi
+required/Array.mc_o : ghc/PrelList.mc_hi
+required/Array.p_o : ghc/PrelList.p_hi
+required/Array.t_o : ghc/PrelList.t_hi
+required/Array.o : ghc/PrelRead.hi
+required/Array.mc_o : ghc/PrelRead.mc_hi
+required/Array.p_o : ghc/PrelRead.p_hi
+required/Array.t_o : ghc/PrelRead.t_hi
+required/Array.o : ghc/ArrBase.hi
+required/Array.mc_o : ghc/ArrBase.mc_hi
+required/Array.p_o : ghc/ArrBase.p_hi
+required/Array.t_o : ghc/ArrBase.t_hi
+required/Array.o : ghc/PrelBase.hi
+required/Array.mc_o : ghc/PrelBase.mc_hi
+required/Array.p_o : ghc/PrelBase.p_hi
+required/Array.t_o : ghc/PrelBase.t_hi
+required/CPUTime.o required/CPUTime.mc_o required/CPUTime.p_o required/CPUTime.t_o : required/CPUTime.lhs
+required/CPUTime.o : ghc/PrelBase.hi
+required/CPUTime.mc_o : ghc/PrelBase.mc_hi
+required/CPUTime.p_o : ghc/PrelBase.p_hi
+required/CPUTime.t_o : ghc/PrelBase.t_hi
+required/CPUTime.o : ghc/ArrBase.hi
+required/CPUTime.mc_o : ghc/ArrBase.mc_hi
+required/CPUTime.p_o : ghc/ArrBase.p_hi
+required/CPUTime.t_o : ghc/ArrBase.t_hi
+required/CPUTime.o : glaExts/Addr.hi
+required/CPUTime.mc_o : glaExts/Addr.mc_hi
+required/CPUTime.p_o : glaExts/Addr.p_hi
+required/CPUTime.t_o : glaExts/Addr.t_hi
+required/CPUTime.o : ghc/IOBase.hi
+required/CPUTime.mc_o : ghc/IOBase.mc_hi
+required/CPUTime.p_o : ghc/IOBase.p_hi
+required/CPUTime.t_o : ghc/IOBase.t_hi
+required/CPUTime.o : required/IO.hi
+required/CPUTime.mc_o : required/IO.mc_hi
+required/CPUTime.p_o : required/IO.p_hi
+required/CPUTime.t_o : required/IO.t_hi
+required/CPUTime.o : ghc/Unsafe.hi
+required/CPUTime.mc_o : ghc/Unsafe.mc_hi
+required/CPUTime.p_o : ghc/Unsafe.p_hi
+required/CPUTime.t_o : ghc/Unsafe.t_hi
+required/CPUTime.o : ghc/STBase.hi
+required/CPUTime.mc_o : ghc/STBase.mc_hi
+required/CPUTime.p_o : ghc/STBase.p_hi
+required/CPUTime.t_o : ghc/STBase.t_hi
+required/CPUTime.o : required/Ratio.hi
+required/CPUTime.mc_o : required/Ratio.mc_hi
+required/CPUTime.p_o : required/Ratio.p_hi
+required/CPUTime.t_o : required/Ratio.t_hi
+required/Char.o required/Char.mc_o required/Char.p_o required/Char.t_o : required/Char.lhs
+required/Char.o : ghc/PrelBase.hi
+required/Char.mc_o : ghc/PrelBase.mc_hi
+required/Char.p_o : ghc/PrelBase.p_hi
+required/Char.t_o : ghc/PrelBase.t_hi
+required/Char.o : ghc/PrelRead.hi
+required/Char.mc_o : ghc/PrelRead.mc_hi
+required/Char.p_o : ghc/PrelRead.p_hi
+required/Char.t_o : ghc/PrelRead.t_hi
+required/Char.o : ghc/Error.hi
+required/Char.mc_o : ghc/Error.mc_hi
+required/Char.p_o : ghc/Error.p_hi
+required/Char.t_o : ghc/Error.t_hi
+required/Complex.o required/Complex.mc_o required/Complex.p_o required/Complex.t_o : required/Complex.lhs
+required/Complex.o : required/Prelude.hi
+required/Complex.mc_o : required/Prelude.mc_hi
+required/Complex.p_o : required/Prelude.p_hi
+required/Complex.t_o : required/Prelude.t_hi
+required/Directory.o required/Directory.mc_o required/Directory.p_o required/Directory.t_o : required/Directory.lhs
+required/Directory.o : ghc/PrelBase.hi
+required/Directory.mc_o : ghc/PrelBase.mc_hi
+required/Directory.p_o : ghc/PrelBase.p_hi
+required/Directory.t_o : ghc/PrelBase.t_hi
+required/Directory.o : glaExts/Foreign.hi
+required/Directory.mc_o : glaExts/Foreign.mc_hi
+required/Directory.p_o : glaExts/Foreign.p_hi
+required/Directory.t_o : glaExts/Foreign.t_hi
+required/Directory.o : glaExts/Addr.hi
+required/Directory.mc_o : glaExts/Addr.mc_hi
+required/Directory.p_o : glaExts/Addr.p_hi
+required/Directory.t_o : glaExts/Addr.t_hi
+required/Directory.o : ghc/IOBase.hi
+required/Directory.mc_o : ghc/IOBase.mc_hi
+required/Directory.p_o : ghc/IOBase.p_hi
+required/Directory.t_o : ghc/IOBase.t_hi
+required/Directory.o : ghc/STBase.hi
+required/Directory.mc_o : ghc/STBase.mc_hi
+required/Directory.p_o : ghc/STBase.p_hi
+required/Directory.t_o : ghc/STBase.t_hi
+required/Directory.o : ghc/Unsafe.hi
+required/Directory.mc_o : ghc/Unsafe.mc_hi
+required/Directory.p_o : ghc/Unsafe.p_hi
+required/Directory.t_o : ghc/Unsafe.t_hi
+required/Directory.o : ghc/ArrBase.hi
+required/Directory.mc_o : ghc/ArrBase.mc_hi
+required/Directory.p_o : ghc/ArrBase.p_hi
+required/Directory.t_o : ghc/ArrBase.t_hi
+required/Directory.o : ghc/PackBase.hi
+required/Directory.mc_o : ghc/PackBase.mc_hi
+required/Directory.p_o : ghc/PackBase.p_hi
+required/Directory.t_o : ghc/PackBase.t_hi
+required/Directory.o : required/Time.hi
+required/Directory.mc_o : required/Time.mc_hi
+required/Directory.p_o : required/Time.p_hi
+required/Directory.t_o : required/Time.t_hi
+required/IO.o required/IO.mc_o required/IO.p_o required/IO.t_o : required/IO.lhs
+required/IO.o : required/Ix.hi
+required/IO.mc_o : required/Ix.mc_hi
+required/IO.p_o : required/Ix.p_hi
+required/IO.t_o : required/Ix.t_hi
+required/IO.o : ghc/STBase.hi
+required/IO.mc_o : ghc/STBase.mc_hi
+required/IO.p_o : ghc/STBase.p_hi
+required/IO.t_o : ghc/STBase.t_hi
+required/IO.o : ghc/Unsafe.hi
+required/IO.mc_o : ghc/Unsafe.mc_hi
+required/IO.p_o : ghc/Unsafe.p_hi
+required/IO.t_o : ghc/Unsafe.t_hi
+required/IO.o : ghc/IOBase.hi
+required/IO.mc_o : ghc/IOBase.mc_hi
+required/IO.p_o : ghc/IOBase.p_hi
+required/IO.t_o : ghc/IOBase.t_hi
+required/IO.o : ghc/ArrBase.hi
+required/IO.mc_o : ghc/ArrBase.mc_hi
+required/IO.p_o : ghc/ArrBase.p_hi
+required/IO.t_o : ghc/ArrBase.t_hi
+required/IO.o : ghc/IOHandle.hi
+required/IO.mc_o : ghc/IOHandle.mc_hi
+required/IO.p_o : ghc/IOHandle.p_hi
+required/IO.t_o : ghc/IOHandle.t_hi
+required/IO.o : ghc/PackBase.hi
+required/IO.mc_o : ghc/PackBase.mc_hi
+required/IO.p_o : ghc/PackBase.p_hi
+required/IO.t_o : ghc/PackBase.t_hi
+required/IO.o : ghc/PrelBase.hi
+required/IO.mc_o : ghc/PrelBase.mc_hi
+required/IO.p_o : ghc/PrelBase.p_hi
+required/IO.t_o : ghc/PrelBase.t_hi
+required/IO.o : ghc/GHC.hi
+required/IO.mc_o : ghc/GHC.mc_hi
+required/IO.p_o : ghc/GHC.p_hi
+required/IO.t_o : ghc/GHC.t_hi
+required/IO.o : glaExts/Addr.hi
+required/IO.mc_o : glaExts/Addr.mc_hi
+required/IO.p_o : glaExts/Addr.p_hi
+required/IO.t_o : glaExts/Addr.t_hi
+required/IO.o : glaExts/Foreign.hi
+required/IO.mc_o : glaExts/Foreign.mc_hi
+required/IO.p_o : glaExts/Foreign.p_hi
+required/IO.t_o : glaExts/Foreign.t_hi
+required/IO.o : required/Char.hi
+required/IO.mc_o : required/Char.mc_hi
+required/IO.p_o : required/Char.p_hi
+required/IO.t_o : required/Char.t_hi
+required/Ix.o required/Ix.mc_o required/Ix.p_o required/Ix.t_o : required/Ix.lhs
+required/Ix.o required/Ix.mc_o required/Ix.p_o required/Ix.t_o : ghc/Error.hi-boot
+required/Ix.o : ghc/PrelTup.hi
+required/Ix.mc_o : ghc/PrelTup.mc_hi
+required/Ix.p_o : ghc/PrelTup.p_hi
+required/Ix.t_o : ghc/PrelTup.t_hi
+required/Ix.o : ghc/PrelBase.hi
+required/Ix.mc_o : ghc/PrelBase.mc_hi
+required/Ix.p_o : ghc/PrelBase.p_hi
+required/Ix.t_o : ghc/PrelBase.t_hi
+required/List.o required/List.mc_o required/List.p_o required/List.t_o : required/List.lhs
+required/List.o : required/Prelude.hi
+required/List.mc_o : required/Prelude.mc_hi
+required/List.p_o : required/Prelude.p_hi
+required/List.t_o : required/Prelude.t_hi
+required/List.o : required/Maybe.hi
+required/List.mc_o : required/Maybe.mc_hi
+required/List.p_o : required/Maybe.p_hi
+required/List.t_o : required/Maybe.t_hi
+required/Locale.o required/Locale.mc_o required/Locale.p_o required/Locale.t_o : required/Locale.lhs
+required/Maybe.o required/Maybe.mc_o required/Maybe.p_o required/Maybe.t_o : required/Maybe.lhs
+required/Maybe.o : ghc/Error.hi
+required/Maybe.mc_o : ghc/Error.mc_hi
+required/Maybe.p_o : ghc/Error.p_hi
+required/Maybe.t_o : ghc/Error.t_hi
+required/Maybe.o : required/Monad.hi
+required/Maybe.mc_o : required/Monad.mc_hi
+required/Maybe.p_o : required/Monad.p_hi
+required/Maybe.t_o : required/Monad.t_hi
+required/Maybe.o : ghc/PrelList.hi
+required/Maybe.mc_o : ghc/PrelList.mc_hi
+required/Maybe.p_o : ghc/PrelList.p_hi
+required/Maybe.t_o : ghc/PrelList.t_hi
+required/Maybe.o : ghc/PrelBase.hi
+required/Maybe.mc_o : ghc/PrelBase.mc_hi
+required/Maybe.p_o : ghc/PrelBase.p_hi
+required/Maybe.t_o : ghc/PrelBase.t_hi
+required/Monad.o required/Monad.mc_o required/Monad.p_o required/Monad.t_o : required/Monad.lhs
+required/Monad.o : ghc/PrelList.hi
+required/Monad.mc_o : ghc/PrelList.mc_hi
+required/Monad.p_o : ghc/PrelList.p_hi
+required/Monad.t_o : ghc/PrelList.t_hi
+required/Monad.o : ghc/PrelTup.hi
+required/Monad.mc_o : ghc/PrelTup.mc_hi
+required/Monad.p_o : ghc/PrelTup.p_hi
+required/Monad.t_o : ghc/PrelTup.t_hi
+required/Monad.o : ghc/PrelBase.hi
+required/Monad.mc_o : ghc/PrelBase.mc_hi
+required/Monad.p_o : ghc/PrelBase.p_hi
+required/Monad.t_o : ghc/PrelBase.t_hi
+required/Numeric.o required/Numeric.mc_o required/Numeric.p_o required/Numeric.t_o : required/Numeric.lhs
+required/Numeric.o : ghc/PrelBase.hi
+required/Numeric.mc_o : ghc/PrelBase.mc_hi
+required/Numeric.p_o : ghc/PrelBase.p_hi
+required/Numeric.t_o : ghc/PrelBase.t_hi
+required/Numeric.o : ghc/ArrBase.hi
+required/Numeric.mc_o : ghc/ArrBase.mc_hi
+required/Numeric.p_o : ghc/ArrBase.p_hi
+required/Numeric.t_o : ghc/ArrBase.t_hi
+required/Numeric.o : ghc/PrelNum.hi
+required/Numeric.mc_o : ghc/PrelNum.mc_hi
+required/Numeric.p_o : ghc/PrelNum.p_hi
+required/Numeric.t_o : ghc/PrelNum.t_hi
+required/Numeric.o : ghc/PrelRead.hi
+required/Numeric.mc_o : ghc/PrelRead.mc_hi
+required/Numeric.p_o : ghc/PrelRead.p_hi
+required/Numeric.t_o : ghc/PrelRead.t_hi
+required/Prelude.o required/Prelude.mc_o required/Prelude.p_o required/Prelude.t_o : required/Prelude.lhs
+required/Prelude.o : ghc/PrelBase.hi
+required/Prelude.mc_o : ghc/PrelBase.mc_hi
+required/Prelude.p_o : ghc/PrelBase.p_hi
+required/Prelude.t_o : ghc/PrelBase.t_hi
+required/Prelude.o : ghc/PrelList.hi
+required/Prelude.mc_o : ghc/PrelList.mc_hi
+required/Prelude.p_o : ghc/PrelList.p_hi
+required/Prelude.t_o : ghc/PrelList.t_hi
+required/Prelude.o : ghc/PrelIO.hi
+required/Prelude.mc_o : ghc/PrelIO.mc_hi
+required/Prelude.p_o : ghc/PrelIO.p_hi
+required/Prelude.t_o : ghc/PrelIO.t_hi
+required/Prelude.o : ghc/PrelRead.hi
+required/Prelude.mc_o : ghc/PrelRead.mc_hi
+required/Prelude.p_o : ghc/PrelRead.p_hi
+required/Prelude.t_o : ghc/PrelRead.t_hi
+required/Prelude.o : ghc/PrelNum.hi
+required/Prelude.mc_o : ghc/PrelNum.mc_hi
+required/Prelude.p_o : ghc/PrelNum.p_hi
+required/Prelude.t_o : ghc/PrelNum.t_hi
+required/Prelude.o : ghc/PrelTup.hi
+required/Prelude.mc_o : ghc/PrelTup.mc_hi
+required/Prelude.p_o : ghc/PrelTup.p_hi
+required/Prelude.t_o : ghc/PrelTup.t_hi
+required/Prelude.o : required/Monad.hi
+required/Prelude.mc_o : required/Monad.mc_hi
+required/Prelude.p_o : required/Monad.p_hi
+required/Prelude.t_o : required/Monad.t_hi
+required/Prelude.o : required/Maybe.hi
+required/Prelude.mc_o : required/Maybe.mc_hi
+required/Prelude.p_o : required/Maybe.p_hi
+required/Prelude.t_o : required/Maybe.t_hi
+required/Prelude.o : ghc/Error.hi
+required/Prelude.mc_o : ghc/Error.mc_hi
+required/Prelude.p_o : ghc/Error.p_hi
+required/Prelude.t_o : ghc/Error.t_hi
+required/Prelude.o : ghc/GHCerr.hi
+required/Prelude.mc_o : ghc/GHCerr.mc_hi
+required/Prelude.p_o : ghc/GHCerr.p_hi
+required/Prelude.t_o : ghc/GHCerr.t_hi
+required/Random.o required/Random.mc_o required/Random.p_o required/Random.t_o : required/Random.lhs
+required/Random.o : required/CPUTime.hi
+required/Random.mc_o : required/CPUTime.mc_hi
+required/Random.p_o : required/CPUTime.p_hi
+required/Random.t_o : required/CPUTime.t_hi
+required/Random.o : required/Time.hi
+required/Random.mc_o : required/Time.mc_hi
+required/Random.p_o : required/Time.p_hi
+required/Random.t_o : required/Time.t_hi
+required/Ratio.o required/Ratio.mc_o required/Ratio.p_o required/Ratio.t_o : required/Ratio.lhs
+required/Ratio.o : ghc/PrelNum.hi
+required/Ratio.mc_o : ghc/PrelNum.mc_hi
+required/Ratio.p_o : ghc/PrelNum.p_hi
+required/Ratio.t_o : ghc/PrelNum.t_hi
+required/System.o required/System.mc_o required/System.p_o required/System.t_o : required/System.lhs
+required/System.o : required/Prelude.hi
+required/System.mc_o : required/Prelude.mc_hi
+required/System.p_o : required/Prelude.p_hi
+required/System.t_o : required/Prelude.t_hi
+required/System.o : glaExts/Addr.hi
+required/System.mc_o : glaExts/Addr.mc_hi
+required/System.p_o : glaExts/Addr.p_hi
+required/System.t_o : glaExts/Addr.t_hi
+required/System.o : ghc/IOBase.hi
+required/System.mc_o : ghc/IOBase.mc_hi
+required/System.p_o : ghc/IOBase.p_hi
+required/System.t_o : ghc/IOBase.t_hi
+required/System.o : ghc/ArrBase.hi
+required/System.mc_o : ghc/ArrBase.mc_hi
+required/System.p_o : ghc/ArrBase.p_hi
+required/System.t_o : ghc/ArrBase.t_hi
+required/System.o : ghc/PackBase.hi
+required/System.mc_o : ghc/PackBase.mc_hi
+required/System.p_o : ghc/PackBase.p_hi
+required/System.t_o : ghc/PackBase.t_hi
+required/Time.o required/Time.mc_o required/Time.p_o required/Time.t_o : required/Time.lhs
+required/Time.o : ghc/PrelBase.hi
+required/Time.mc_o : ghc/PrelBase.mc_hi
+required/Time.p_o : ghc/PrelBase.p_hi
+required/Time.t_o : ghc/PrelBase.t_hi
+required/Time.o : glaExts/ST.hi
+required/Time.mc_o : glaExts/ST.mc_hi
+required/Time.p_o : glaExts/ST.p_hi
+required/Time.t_o : glaExts/ST.t_hi
+required/Time.o : ghc/IOBase.hi
+required/Time.mc_o : ghc/IOBase.mc_hi
+required/Time.p_o : ghc/IOBase.p_hi
+required/Time.t_o : ghc/IOBase.t_hi
+required/Time.o : ghc/ArrBase.hi
+required/Time.mc_o : ghc/ArrBase.mc_hi
+required/Time.p_o : ghc/ArrBase.p_hi
+required/Time.t_o : ghc/ArrBase.t_hi
+required/Time.o : ghc/STBase.hi
+required/Time.mc_o : ghc/STBase.mc_hi
+required/Time.p_o : ghc/STBase.p_hi
+required/Time.t_o : ghc/STBase.t_hi
+required/Time.o : ghc/Unsafe.hi
+required/Time.mc_o : ghc/Unsafe.mc_hi
+required/Time.p_o : ghc/Unsafe.p_hi
+required/Time.t_o : ghc/Unsafe.t_hi
+required/Time.o : glaExts/ST.hi
+required/Time.mc_o : glaExts/ST.mc_hi
+required/Time.p_o : glaExts/ST.p_hi
+required/Time.t_o : glaExts/ST.t_hi
+required/Time.o : required/Ix.hi
+required/Time.mc_o : required/Ix.mc_hi
+required/Time.p_o : required/Ix.p_hi
+required/Time.t_o : required/Ix.t_hi
+required/Time.o : glaExts/Addr.hi
+required/Time.mc_o : glaExts/Addr.mc_hi
+required/Time.p_o : glaExts/Addr.p_hi
+required/Time.t_o : glaExts/Addr.t_hi
+required/Time.o : required/Char.hi
+required/Time.mc_o : required/Char.mc_hi
+required/Time.p_o : required/Char.p_hi
+required/Time.t_o : required/Char.t_hi
+required/Time.o : ghc/PackBase.hi
+required/Time.mc_o : ghc/PackBase.mc_hi
+required/Time.p_o : ghc/PackBase.p_hi
+required/Time.t_o : ghc/PackBase.t_hi
+required/Time.o : required/Locale.hi
+required/Time.mc_o : required/Locale.mc_hi
+required/Time.p_o : required/Locale.p_hi
+required/Time.t_o : required/Locale.t_hi
+glaExts/Addr.o glaExts/Addr.mc_o glaExts/Addr.p_o glaExts/Addr.t_o : glaExts/Addr.lhs
+glaExts/Addr.o : ghc/GHC.hi
+glaExts/Addr.mc_o : ghc/GHC.mc_hi
+glaExts/Addr.p_o : ghc/GHC.p_hi
+glaExts/Addr.t_o : ghc/GHC.t_hi
+glaExts/Addr.o : ghc/PrelBase.hi
+glaExts/Addr.mc_o : ghc/PrelBase.mc_hi
+glaExts/Addr.p_o : ghc/PrelBase.p_hi
+glaExts/Addr.t_o : ghc/PrelBase.t_hi
+glaExts/Addr.o : ghc/STBase.hi
+glaExts/Addr.mc_o : ghc/STBase.mc_hi
+glaExts/Addr.p_o : ghc/STBase.p_hi
+glaExts/Addr.t_o : ghc/STBase.t_hi
+glaExts/Addr.o : glaExts/CCall.hi
+glaExts/Addr.mc_o : glaExts/CCall.mc_hi
+glaExts/Addr.p_o : glaExts/CCall.p_hi
+glaExts/Addr.t_o : glaExts/CCall.t_hi
+glaExts/Bits.o glaExts/Bits.mc_o glaExts/Bits.p_o glaExts/Bits.t_o : glaExts/Bits.lhs
+glaExts/Bits.o : ghc/PrelBase.hi
+glaExts/Bits.mc_o : ghc/PrelBase.mc_hi
+glaExts/Bits.p_o : ghc/PrelBase.p_hi
+glaExts/Bits.t_o : ghc/PrelBase.t_hi
+glaExts/ByteArray.o glaExts/ByteArray.mc_o glaExts/ByteArray.p_o glaExts/ByteArray.t_o : glaExts/ByteArray.lhs
+glaExts/ByteArray.o : ghc/ArrBase.hi
+glaExts/ByteArray.mc_o : ghc/ArrBase.mc_hi
+glaExts/ByteArray.p_o : ghc/ArrBase.p_hi
+glaExts/ByteArray.t_o : ghc/ArrBase.t_hi
+glaExts/ByteArray.o : required/Ix.hi
+glaExts/ByteArray.mc_o : required/Ix.mc_hi
+glaExts/ByteArray.p_o : required/Ix.p_hi
+glaExts/ByteArray.t_o : required/Ix.t_hi
+glaExts/ByteArray.o : glaExts/Foreign.hi
+glaExts/ByteArray.mc_o : glaExts/Foreign.mc_hi
+glaExts/ByteArray.p_o : glaExts/Foreign.p_hi
+glaExts/ByteArray.t_o : glaExts/Foreign.t_hi
+glaExts/ByteArray.o : glaExts/Addr.hi
+glaExts/ByteArray.mc_o : glaExts/Addr.mc_hi
+glaExts/ByteArray.p_o : glaExts/Addr.p_hi
+glaExts/ByteArray.t_o : glaExts/Addr.t_hi
+glaExts/CCall.o glaExts/CCall.mc_o glaExts/CCall.p_o glaExts/CCall.t_o : glaExts/CCall.lhs
+glaExts/CCall.o : ghc/PrelBase.hi
+glaExts/CCall.mc_o : ghc/PrelBase.mc_hi
+glaExts/CCall.p_o : ghc/PrelBase.p_hi
+glaExts/CCall.t_o : ghc/PrelBase.t_hi
+glaExts/CCall.o : ghc/GHC.hi
+glaExts/CCall.mc_o : ghc/GHC.mc_hi
+glaExts/CCall.p_o : ghc/GHC.p_hi
+glaExts/CCall.t_o : ghc/GHC.t_hi
+glaExts/Foreign.o glaExts/Foreign.mc_o glaExts/Foreign.p_o glaExts/Foreign.t_o : glaExts/Foreign.lhs
+glaExts/Foreign.o : ghc/IOBase.hi
+glaExts/Foreign.mc_o : ghc/IOBase.mc_hi
+glaExts/Foreign.p_o : ghc/IOBase.p_hi
+glaExts/Foreign.t_o : ghc/IOBase.t_hi
+glaExts/Foreign.o : ghc/STBase.hi
+glaExts/Foreign.mc_o : ghc/STBase.mc_hi
+glaExts/Foreign.p_o : ghc/STBase.p_hi
+glaExts/Foreign.t_o : ghc/STBase.t_hi
+glaExts/Foreign.o : ghc/Unsafe.hi
+glaExts/Foreign.mc_o : ghc/Unsafe.mc_hi
+glaExts/Foreign.p_o : ghc/Unsafe.p_hi
+glaExts/Foreign.t_o : ghc/Unsafe.t_hi
+glaExts/Foreign.o : ghc/PrelBase.hi
+glaExts/Foreign.mc_o : ghc/PrelBase.mc_hi
+glaExts/Foreign.p_o : ghc/PrelBase.p_hi
+glaExts/Foreign.t_o : ghc/PrelBase.t_hi
+glaExts/Foreign.o : glaExts/CCall.hi
+glaExts/Foreign.mc_o : glaExts/CCall.mc_hi
+glaExts/Foreign.p_o : glaExts/CCall.p_hi
+glaExts/Foreign.t_o : glaExts/CCall.t_hi
+glaExts/Foreign.o : glaExts/Addr.hi
+glaExts/Foreign.mc_o : glaExts/Addr.mc_hi
+glaExts/Foreign.p_o : glaExts/Addr.p_hi
+glaExts/Foreign.t_o : glaExts/Addr.t_hi
+glaExts/Foreign.o : ghc/GHC.hi
+glaExts/Foreign.mc_o : ghc/GHC.mc_hi
+glaExts/Foreign.p_o : ghc/GHC.p_hi
+glaExts/Foreign.t_o : ghc/GHC.t_hi
+glaExts/GlaExts.o glaExts/GlaExts.mc_o glaExts/GlaExts.p_o glaExts/GlaExts.t_o : glaExts/GlaExts.lhs
+glaExts/GlaExts.o : ghc/GHC.hi
+glaExts/GlaExts.mc_o : ghc/GHC.mc_hi
+glaExts/GlaExts.p_o : ghc/GHC.p_hi
+glaExts/GlaExts.t_o : ghc/GHC.t_hi
+glaExts/GlaExts.o : ghc/STBase.hi
+glaExts/GlaExts.mc_o : ghc/STBase.mc_hi
+glaExts/GlaExts.p_o : ghc/STBase.p_hi
+glaExts/GlaExts.t_o : ghc/STBase.t_hi
+glaExts/GlaExts.o : glaExts/IOExts.hi
+glaExts/GlaExts.mc_o : glaExts/IOExts.mc_hi
+glaExts/GlaExts.p_o : glaExts/IOExts.p_hi
+glaExts/GlaExts.t_o : glaExts/IOExts.t_hi
+glaExts/GlaExts.o : ghc/PrelBase.hi
+glaExts/GlaExts.mc_o : ghc/PrelBase.mc_hi
+glaExts/GlaExts.p_o : ghc/PrelBase.p_hi
+glaExts/GlaExts.t_o : ghc/PrelBase.t_hi
+glaExts/GlaExts.o : glaExts/ByteArray.hi
+glaExts/GlaExts.mc_o : glaExts/ByteArray.mc_hi
+glaExts/GlaExts.p_o : glaExts/ByteArray.p_hi
+glaExts/GlaExts.t_o : glaExts/ByteArray.t_hi
+glaExts/GlaExts.o : glaExts/MutableArray.hi
+glaExts/GlaExts.mc_o : glaExts/MutableArray.mc_hi
+glaExts/GlaExts.p_o : glaExts/MutableArray.p_hi
+glaExts/GlaExts.t_o : glaExts/MutableArray.t_hi
+glaExts/GlaExts.o : required/Monad.hi
+glaExts/GlaExts.mc_o : required/Monad.mc_hi
+glaExts/GlaExts.p_o : required/Monad.p_hi
+glaExts/GlaExts.t_o : required/Monad.t_hi
+glaExts/GlaExts.o : ghc/IOBase.hi
+glaExts/GlaExts.mc_o : ghc/IOBase.mc_hi
+glaExts/GlaExts.p_o : ghc/IOBase.p_hi
+glaExts/GlaExts.t_o : ghc/IOBase.t_hi
+glaExts/GlaExts.o : glaExts/Foreign.hi
+glaExts/GlaExts.mc_o : glaExts/Foreign.mc_hi
+glaExts/GlaExts.p_o : glaExts/Foreign.p_hi
+glaExts/GlaExts.t_o : glaExts/Foreign.t_hi
+glaExts/IOExts.o glaExts/IOExts.mc_o glaExts/IOExts.p_o glaExts/IOExts.t_o : glaExts/IOExts.lhs
+glaExts/IOExts.o : ghc/IOBase.hi
+glaExts/IOExts.mc_o : ghc/IOBase.mc_hi
+glaExts/IOExts.p_o : ghc/IOBase.p_hi
+glaExts/IOExts.t_o : ghc/IOBase.t_hi
+glaExts/IOExts.o : glaExts/IORef.hi
+glaExts/IOExts.mc_o : glaExts/IORef.mc_hi
+glaExts/IOExts.p_o : glaExts/IORef.p_hi
+glaExts/IOExts.t_o : glaExts/IORef.t_hi
+glaExts/IOExts.o : ghc/STBase.hi
+glaExts/IOExts.mc_o : ghc/STBase.mc_hi
+glaExts/IOExts.p_o : ghc/STBase.p_hi
+glaExts/IOExts.t_o : ghc/STBase.t_hi
+glaExts/IOExts.o : ghc/Unsafe.hi
+glaExts/IOExts.mc_o : ghc/Unsafe.mc_hi
+glaExts/IOExts.p_o : ghc/Unsafe.p_hi
+glaExts/IOExts.t_o : ghc/Unsafe.t_hi
+glaExts/IORef.o glaExts/IORef.mc_o glaExts/IORef.p_o glaExts/IORef.t_o : glaExts/IORef.lhs
+glaExts/IORef.o : ghc/PrelBase.hi
+glaExts/IORef.mc_o : ghc/PrelBase.mc_hi
+glaExts/IORef.p_o : ghc/PrelBase.p_hi
+glaExts/IORef.t_o : ghc/PrelBase.t_hi
+glaExts/IORef.o : ghc/ArrBase.hi
+glaExts/IORef.mc_o : ghc/ArrBase.mc_hi
+glaExts/IORef.p_o : ghc/ArrBase.p_hi
+glaExts/IORef.t_o : ghc/ArrBase.t_hi
+glaExts/IORef.o : ghc/IOBase.hi
+glaExts/IORef.mc_o : ghc/IOBase.mc_hi
+glaExts/IORef.p_o : ghc/IOBase.p_hi
+glaExts/IORef.t_o : ghc/IOBase.t_hi
+glaExts/IORef.o : ghc/STBase.hi
+glaExts/IORef.mc_o : ghc/STBase.mc_hi
+glaExts/IORef.p_o : ghc/STBase.p_hi
+glaExts/IORef.t_o : ghc/STBase.t_hi
+glaExts/Int.o glaExts/Int.mc_o glaExts/Int.p_o glaExts/Int.t_o : glaExts/Int.lhs
+glaExts/Int.o : ghc/PrelBase.hi
+glaExts/Int.mc_o : ghc/PrelBase.mc_hi
+glaExts/Int.p_o : ghc/PrelBase.p_hi
+glaExts/Int.t_o : ghc/PrelBase.t_hi
+glaExts/Int.o : ghc/PrelNum.hi
+glaExts/Int.mc_o : ghc/PrelNum.mc_hi
+glaExts/Int.p_o : ghc/PrelNum.p_hi
+glaExts/Int.t_o : ghc/PrelNum.t_hi
+glaExts/Int.o : ghc/PrelRead.hi
+glaExts/Int.mc_o : ghc/PrelRead.mc_hi
+glaExts/Int.p_o : ghc/PrelRead.p_hi
+glaExts/Int.t_o : ghc/PrelRead.t_hi
+glaExts/Int.o : required/Ix.hi
+glaExts/Int.mc_o : required/Ix.mc_hi
+glaExts/Int.p_o : required/Ix.p_hi
+glaExts/Int.t_o : required/Ix.t_hi
+glaExts/Int.o : ghc/Error.hi
+glaExts/Int.mc_o : ghc/Error.mc_hi
+glaExts/Int.p_o : ghc/Error.p_hi
+glaExts/Int.t_o : ghc/Error.t_hi
+glaExts/Int.o : glaExts/Bits.hi
+glaExts/Int.mc_o : glaExts/Bits.mc_hi
+glaExts/Int.p_o : glaExts/Bits.p_hi
+glaExts/Int.t_o : glaExts/Bits.t_hi
+glaExts/Int.o : ghc/GHC.hi
+glaExts/Int.mc_o : ghc/GHC.mc_hi
+glaExts/Int.p_o : ghc/GHC.p_hi
+glaExts/Int.t_o : ghc/GHC.t_hi
+glaExts/LazyST.o glaExts/LazyST.mc_o glaExts/LazyST.p_o glaExts/LazyST.t_o : glaExts/LazyST.lhs
+glaExts/LazyST.o : glaExts/ST.hi
+glaExts/LazyST.mc_o : glaExts/ST.mc_hi
+glaExts/LazyST.p_o : glaExts/ST.p_hi
+glaExts/LazyST.t_o : glaExts/ST.t_hi
+glaExts/LazyST.o : ghc/STBase.hi
+glaExts/LazyST.mc_o : ghc/STBase.mc_hi
+glaExts/LazyST.p_o : ghc/STBase.p_hi
+glaExts/LazyST.t_o : ghc/STBase.t_hi
+glaExts/LazyST.o : ghc/ArrBase.hi
+glaExts/LazyST.mc_o : ghc/ArrBase.mc_hi
+glaExts/LazyST.p_o : ghc/ArrBase.p_hi
+glaExts/LazyST.t_o : ghc/ArrBase.t_hi
+glaExts/LazyST.o : ghc/Unsafe.hi
+glaExts/LazyST.mc_o : ghc/Unsafe.mc_hi
+glaExts/LazyST.p_o : ghc/Unsafe.p_hi
+glaExts/LazyST.t_o : ghc/Unsafe.t_hi
+glaExts/LazyST.o : ghc/PrelBase.hi
+glaExts/LazyST.mc_o : ghc/PrelBase.mc_hi
+glaExts/LazyST.p_o : ghc/PrelBase.p_hi
+glaExts/LazyST.t_o : ghc/PrelBase.t_hi
+glaExts/LazyST.o : required/Monad.hi
+glaExts/LazyST.mc_o : required/Monad.mc_hi
+glaExts/LazyST.p_o : required/Monad.p_hi
+glaExts/LazyST.t_o : required/Monad.t_hi
+glaExts/LazyST.o : required/Ix.hi
+glaExts/LazyST.mc_o : required/Ix.mc_hi
+glaExts/LazyST.p_o : required/Ix.p_hi
+glaExts/LazyST.t_o : required/Ix.t_hi
+glaExts/MutableArray.o glaExts/MutableArray.mc_o glaExts/MutableArray.p_o glaExts/MutableArray.t_o : glaExts/MutableArray.lhs
+glaExts/MutableArray.o : ghc/ArrBase.hi
+glaExts/MutableArray.mc_o : ghc/ArrBase.mc_hi
+glaExts/MutableArray.p_o : ghc/ArrBase.p_hi
+glaExts/MutableArray.t_o : ghc/ArrBase.t_hi
+glaExts/MutableArray.o : glaExts/ST.hi
+glaExts/MutableArray.mc_o : glaExts/ST.mc_hi
+glaExts/MutableArray.p_o : glaExts/ST.p_hi
+glaExts/MutableArray.t_o : glaExts/ST.t_hi
+glaExts/MutableArray.o : required/Ix.hi
+glaExts/MutableArray.mc_o : required/Ix.mc_hi
+glaExts/MutableArray.p_o : required/Ix.p_hi
+glaExts/MutableArray.t_o : required/Ix.t_hi
+glaExts/ST.o glaExts/ST.mc_o glaExts/ST.p_o glaExts/ST.t_o : glaExts/ST.lhs
+glaExts/ST.o : ghc/ArrBase.hi
+glaExts/ST.mc_o : ghc/ArrBase.mc_hi
+glaExts/ST.p_o : ghc/ArrBase.p_hi
+glaExts/ST.t_o : ghc/ArrBase.t_hi
+glaExts/ST.o : ghc/Unsafe.hi
+glaExts/ST.mc_o : ghc/Unsafe.mc_hi
+glaExts/ST.p_o : ghc/Unsafe.p_hi
+glaExts/ST.t_o : ghc/Unsafe.t_hi
+glaExts/ST.o : ghc/STBase.hi
+glaExts/ST.mc_o : ghc/STBase.mc_hi
+glaExts/ST.p_o : ghc/STBase.p_hi
+glaExts/ST.t_o : ghc/STBase.t_hi
+glaExts/ST.o : ghc/PrelBase.hi
+glaExts/ST.mc_o : ghc/PrelBase.mc_hi
+glaExts/ST.p_o : ghc/PrelBase.p_hi
+glaExts/ST.t_o : ghc/PrelBase.t_hi
+glaExts/ST.o : required/Monad.hi
+glaExts/ST.mc_o : required/Monad.mc_hi
+glaExts/ST.p_o : required/Monad.p_hi
+glaExts/ST.t_o : required/Monad.t_hi
+glaExts/ST.o : required/Ix.hi
+glaExts/ST.mc_o : required/Ix.mc_hi
+glaExts/ST.p_o : required/Ix.p_hi
+glaExts/ST.t_o : required/Ix.t_hi
+glaExts/Word.o glaExts/Word.mc_o glaExts/Word.p_o glaExts/Word.t_o : glaExts/Word.lhs
+glaExts/Word.o : ghc/PrelBase.hi
+glaExts/Word.mc_o : ghc/PrelBase.mc_hi
+glaExts/Word.p_o : ghc/PrelBase.p_hi
+glaExts/Word.t_o : ghc/PrelBase.t_hi
+glaExts/Word.o : ghc/PrelNum.hi
+glaExts/Word.mc_o : ghc/PrelNum.mc_hi
+glaExts/Word.p_o : ghc/PrelNum.p_hi
+glaExts/Word.t_o : ghc/PrelNum.t_hi
+glaExts/Word.o : ghc/PrelRead.hi
+glaExts/Word.mc_o : ghc/PrelRead.mc_hi
+glaExts/Word.p_o : ghc/PrelRead.p_hi
+glaExts/Word.t_o : ghc/PrelRead.t_hi
+glaExts/Word.o : required/Ix.hi
+glaExts/Word.mc_o : required/Ix.mc_hi
+glaExts/Word.p_o : required/Ix.p_hi
+glaExts/Word.t_o : required/Ix.t_hi
+glaExts/Word.o : ghc/Error.hi
+glaExts/Word.mc_o : ghc/Error.mc_hi
+glaExts/Word.p_o : ghc/Error.p_hi
+glaExts/Word.t_o : ghc/Error.t_hi
+glaExts/Word.o : glaExts/Bits.hi
+glaExts/Word.mc_o : glaExts/Bits.mc_hi
+glaExts/Word.p_o : glaExts/Bits.p_hi
+glaExts/Word.t_o : glaExts/Bits.t_hi
+glaExts/Word.o : ghc/GHC.hi
+glaExts/Word.mc_o : ghc/GHC.mc_hi
+glaExts/Word.p_o : ghc/GHC.p_hi
+glaExts/Word.t_o : ghc/GHC.t_hi
+concurrent/Channel.o concurrent/Channel.mc_o concurrent/Channel.p_o concurrent/Channel.t_o : concurrent/Channel.lhs
+concurrent/Channel.o : required/Prelude.hi
+concurrent/Channel.mc_o : required/Prelude.mc_hi
+concurrent/Channel.p_o : required/Prelude.p_hi
+concurrent/Channel.t_o : required/Prelude.t_hi
+concurrent/Channel.o : ghc/IOBase.hi
+concurrent/Channel.mc_o : ghc/IOBase.mc_hi
+concurrent/Channel.p_o : ghc/IOBase.p_hi
+concurrent/Channel.t_o : ghc/IOBase.t_hi
+concurrent/Channel.o : ghc/ConcBase.hi
+concurrent/Channel.mc_o : ghc/ConcBase.mc_hi
+concurrent/Channel.p_o : ghc/ConcBase.p_hi
+concurrent/Channel.t_o : ghc/ConcBase.t_hi
+concurrent/Channel.o : ghc/STBase.hi
+concurrent/Channel.mc_o : ghc/STBase.mc_hi
+concurrent/Channel.p_o : ghc/STBase.p_hi
+concurrent/Channel.t_o : ghc/STBase.t_hi
+concurrent/Channel.o : ghc/Unsafe.hi
+concurrent/Channel.mc_o : ghc/Unsafe.mc_hi
+concurrent/Channel.p_o : ghc/Unsafe.p_hi
+concurrent/Channel.t_o : ghc/Unsafe.t_hi
+concurrent/ChannelVar.o concurrent/ChannelVar.mc_o concurrent/ChannelVar.p_o concurrent/ChannelVar.t_o : concurrent/ChannelVar.lhs
+concurrent/ChannelVar.o : required/Prelude.hi
+concurrent/ChannelVar.mc_o : required/Prelude.mc_hi
+concurrent/ChannelVar.p_o : required/Prelude.p_hi
+concurrent/ChannelVar.t_o : required/Prelude.t_hi
+concurrent/ChannelVar.o : ghc/ConcBase.hi
+concurrent/ChannelVar.mc_o : ghc/ConcBase.mc_hi
+concurrent/ChannelVar.p_o : ghc/ConcBase.p_hi
+concurrent/ChannelVar.t_o : ghc/ConcBase.t_hi
+concurrent/Concurrent.o concurrent/Concurrent.mc_o concurrent/Concurrent.p_o concurrent/Concurrent.t_o : concurrent/Concurrent.lhs
+concurrent/Concurrent.o : concurrent/Parallel.hi
+concurrent/Concurrent.mc_o : concurrent/Parallel.mc_hi
+concurrent/Concurrent.p_o : concurrent/Parallel.p_hi
+concurrent/Concurrent.t_o : concurrent/Parallel.t_hi
+concurrent/Concurrent.o : concurrent/ChannelVar.hi
+concurrent/Concurrent.mc_o : concurrent/ChannelVar.mc_hi
+concurrent/Concurrent.p_o : concurrent/ChannelVar.p_hi
+concurrent/Concurrent.t_o : concurrent/ChannelVar.t_hi
+concurrent/Concurrent.o : concurrent/Channel.hi
+concurrent/Concurrent.mc_o : concurrent/Channel.mc_hi
+concurrent/Concurrent.p_o : concurrent/Channel.p_hi
+concurrent/Concurrent.t_o : concurrent/Channel.t_hi
+concurrent/Concurrent.o : concurrent/Semaphore.hi
+concurrent/Concurrent.mc_o : concurrent/Semaphore.mc_hi
+concurrent/Concurrent.p_o : concurrent/Semaphore.p_hi
+concurrent/Concurrent.t_o : concurrent/Semaphore.t_hi
+concurrent/Concurrent.o : concurrent/Merge.hi
+concurrent/Concurrent.mc_o : concurrent/Merge.mc_hi
+concurrent/Concurrent.p_o : concurrent/Merge.p_hi
+concurrent/Concurrent.t_o : concurrent/Merge.t_hi
+concurrent/Concurrent.o : concurrent/SampleVar.hi
+concurrent/Concurrent.mc_o : concurrent/SampleVar.mc_hi
+concurrent/Concurrent.p_o : concurrent/SampleVar.p_hi
+concurrent/Concurrent.t_o : concurrent/SampleVar.t_hi
+concurrent/Concurrent.o : ghc/ConcBase.hi
+concurrent/Concurrent.mc_o : ghc/ConcBase.mc_hi
+concurrent/Concurrent.p_o : ghc/ConcBase.p_hi
+concurrent/Concurrent.t_o : ghc/ConcBase.t_hi
+concurrent/Merge.o concurrent/Merge.mc_o concurrent/Merge.p_o concurrent/Merge.t_o : concurrent/Merge.lhs
+concurrent/Merge.o : concurrent/Semaphore.hi
+concurrent/Merge.mc_o : concurrent/Semaphore.mc_hi
+concurrent/Merge.p_o : concurrent/Semaphore.p_hi
+concurrent/Merge.t_o : concurrent/Semaphore.t_hi
+concurrent/Merge.o : ghc/ConcBase.hi
+concurrent/Merge.mc_o : ghc/ConcBase.mc_hi
+concurrent/Merge.p_o : ghc/ConcBase.p_hi
+concurrent/Merge.t_o : ghc/ConcBase.t_hi
+concurrent/Merge.o : ghc/Unsafe.hi
+concurrent/Merge.mc_o : ghc/Unsafe.mc_hi
+concurrent/Merge.p_o : ghc/Unsafe.p_hi
+concurrent/Merge.t_o : ghc/Unsafe.t_hi
+concurrent/Merge.o : ghc/IOBase.hi
+concurrent/Merge.mc_o : ghc/IOBase.mc_hi
+concurrent/Merge.p_o : ghc/IOBase.p_hi
+concurrent/Merge.t_o : ghc/IOBase.t_hi
+concurrent/Parallel.o concurrent/Parallel.mc_o concurrent/Parallel.p_o concurrent/Parallel.t_o : concurrent/Parallel.lhs
+concurrent/Parallel.o : ghc/ConcBase.hi
+concurrent/Parallel.mc_o : ghc/ConcBase.mc_hi
+concurrent/Parallel.p_o : ghc/ConcBase.p_hi
+concurrent/Parallel.t_o : ghc/ConcBase.t_hi
+concurrent/SampleVar.o concurrent/SampleVar.mc_o concurrent/SampleVar.p_o concurrent/SampleVar.t_o : concurrent/SampleVar.lhs
+concurrent/SampleVar.o : ghc/ConcBase.hi
+concurrent/SampleVar.mc_o : ghc/ConcBase.mc_hi
+concurrent/SampleVar.p_o : ghc/ConcBase.p_hi
+concurrent/SampleVar.t_o : ghc/ConcBase.t_hi
+concurrent/Semaphore.o concurrent/Semaphore.mc_o concurrent/Semaphore.p_o concurrent/Semaphore.t_o : concurrent/Semaphore.lhs
+concurrent/Semaphore.o : ghc/ConcBase.hi
+concurrent/Semaphore.mc_o : ghc/ConcBase.mc_hi
+concurrent/Semaphore.p_o : ghc/ConcBase.p_hi
+concurrent/Semaphore.t_o : ghc/ConcBase.t_hi
+# DO NOT DELETE: End of Haskell dependencies
diff --git a/ghc/lib/ghc/ArrBase.lhs b/ghc/lib/ghc/ArrBase.lhs
index 4ab72b8fb769..558d54c5ec91 100644
--- a/ghc/lib/ghc/ArrBase.lhs
+++ b/ghc/lib/ghc/ArrBase.lhs
@@ -18,6 +18,7 @@ import STBase
 import PrelBase
 import CCall
 import Addr
+import Unsafe ( runST )
 import GHC
 
 infixl 9  !, //
diff --git a/ghc/lib/ghc/STBase.lhs b/ghc/lib/ghc/STBase.lhs
index 7f35075e023f..68dd330dba32 100644
--- a/ghc/lib/ghc/STBase.lhs
+++ b/ghc/lib/ghc/STBase.lhs
@@ -27,10 +27,6 @@ newtype ST s a = ST (State# s -> STret s a)
 
 data STret s a = STret (State# s) a
 
-runST (ST m)
-  = case m realWorld# of
-      STret _ r -> r
-
 instance Monad (ST s) where
     {-# INLINE return #-}
     {-# INLINE (>>)   #-}
diff --git a/ghc/lib/ghc/Unsafe.lhs b/ghc/lib/ghc/Unsafe.lhs
index c07c82cd2dd8..1da8e25c4ea0 100644
--- a/ghc/lib/ghc/Unsafe.lhs
+++ b/ghc/lib/ghc/Unsafe.lhs
@@ -14,7 +14,8 @@ module Unsafe
         ( unsafePerformIO, 
 	  unsafeInterleaveIO, 
    	  unsafeInterleaveST,
-	  trace
+	  trace,
+	  runST
         ) where
 \end{code}
 
@@ -67,3 +68,43 @@ unsafeInterleaveST (ST m) = ST ( \ s ->
     STret s r)
 
 \end{code}
+
+Definition of runST
+~~~~~~~~~~~~~~~~~~~
+
+SLPJ 95/04: Why @runST@ must not have an unfolding; consider:
+\begin{verbatim}
+f x =
+  runST ( \ s -> let
+		    (a, s')  = newArray# 100 [] s
+		    (_, s'') = fill_in_array_or_something a x s'
+		  in
+		  freezeArray# a s'' )
+\end{verbatim}
+If we inline @runST@, we'll get:
+\begin{verbatim}
+f x = let
+	(a, s')  = newArray# 100 [] realWorld#{-NB-}
+	(_, s'') = fill_in_array_or_something a x s'
+      in
+      freezeArray# a s''
+\end{verbatim}
+And now the @newArray#@ binding can be floated to become a CAF, which
+is totally and utterly wrong:
+\begin{verbatim}
+f = let
+    (a, s')  = newArray# 100 [] realWorld#{-NB-} -- YIKES!!!
+    in
+    \ x ->
+	let (_, s'') = fill_in_array_or_something a x s' in
+	freezeArray# a s''
+\end{verbatim}
+All calls to @f@ will share a {\em single} array!  End SLPJ 95/04.
+
+\begin{code}
+runST :: (All s => ST s a) -> a
+runST st = 
+  case st of
+	ST m -> case m realWorld# of
+      			STret _ r -> r
+\end{code}
-- 
GitLab