\begin{code}
tcInterfaceSigs :: ValueEnv -- Envt to use when checking unfoldings
-> [RenamedHsDecl] -- Ignore non-sig-decls in these decls
- -> TcM s [Id]
+ -> TcM [Id]
tcInterfaceSigs unf_env decls
where
doc = text "unfolding of" <+> ppr name
-tcDelay :: ValueEnv -> SDoc -> TcM s a -> NF_TcM s (Maybe a)
+tcDelay :: ValueEnv -> SDoc -> TcM a -> NF_TcM (Maybe a)
tcDelay unf_env doc thing_inside
= forkNF_Tc (
recoverNF_Tc bad_value (
****** Why? Because we know all the types and want to bind them to real Ids.
\begin{code}
-tcVar :: Name -> TcM s Id
+tcVar :: Name -> TcM Id
tcVar name
- = tcLookupValueMaybe name `thenNF_Tc` \ maybe_id ->
+ = tcLookupGlobalMaybe name `thenNF_Tc` \ maybe_id ->
case maybe_id of {
- Just id -> returnTc id;
- Nothing -> failWithTc (noDecl name)
+ Just (AnId id) -> returnTc id;
+ Nothing -> failWithTc (noDecl name)
}
noDecl name = hsep [ptext SLIT("Warning: no binding for"), ppr name]
UfCore expressions.
\begin{code}
-tcCoreExpr :: UfExpr Name -> TcM s CoreExpr
+tcCoreExpr :: UfExpr Name -> TcM CoreExpr
tcCoreExpr (UfType ty)
= tcHsType ty `thenTc` \ ty' ->