A consequence of my recent meddling with hs-boot files is that GHC is
more picky about the correpondence between the hs-boot file and the hs file.
In particular, you must use the same type synonyms.
This patche fixes up GHC's own hs-boot files to match the restriction.
\begin{code}
module Match where
import Var ( Id )
-import TcType ( TcType )
+import TcType ( Type )
import DsMonad ( DsM, EquationInfo, MatchResult )
import CoreSyn ( CoreExpr )
import HsSyn ( LPat, HsMatchContext, MatchGroup )
import Name ( Name )
match :: [Id]
- -> TcType
+ -> Type
-> [EquationInfo]
-> DsM MatchResult
:: CoreExpr
-> HsMatchContext Name
-> LPat Id
- -> TcType
+ -> Type
-> MatchResult
-> DsM MatchResult
\end{code}
module TcMatches where
import HsSyn ( GRHSs, MatchGroup, ExprCoFn )
import Name ( Name )
-import Var ( Id )
import TcType ( BoxyRhoType )
-import TcRnTypes( TcM )
+import TcRnTypes( TcM, TcId )
tcGRHSsPat :: GRHSs Name
-> BoxyRhoType
- -> TcM (GRHSs Id)
+ -> TcM (GRHSs TcId)
tcMatchesFun :: Name
-> MatchGroup Name
-> BoxyRhoType
- -> TcM (ExprCoFn, MatchGroup Id)
+ -> TcM (ExprCoFn, MatchGroup TcId)
\end{code}
\begin{code}
module TcUnify where
-import TcType ( TcTauType, BoxyType )
+import TcType ( TcTauType, BoxySigmaType )
import TcRnTypes( TcM )
-- This boot file exists only to tie the knot between
-- TcUnify and TcSimplify
unifyType :: TcTauType -> TcTauType -> TcM ()
-zapToMonotype :: BoxyType -> TcM TcTauType
+zapToMonotype :: BoxySigmaType -> TcM TcTauType
\end{code}