From a7526448bb4d9836032352c05837efb42ccb227b Mon Sep 17 00:00:00 2001 From: simonmar Date: Tue, 21 Nov 2000 16:34:57 +0000 Subject: [PATCH] [project @ 2000-11-21 16:33:18 by simonmar] Zonk the expr we return from typecheckExpr. --- ghc/compiler/typecheck/TcHsSyn.lhs | 2 +- ghc/compiler/typecheck/TcModule.lhs | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/ghc/compiler/typecheck/TcHsSyn.lhs b/ghc/compiler/typecheck/TcHsSyn.lhs index db82b24..9d2c3ee 100644 --- a/ghc/compiler/typecheck/TcHsSyn.lhs +++ b/ghc/compiler/typecheck/TcHsSyn.lhs @@ -28,7 +28,7 @@ module TcHsSyn ( -- re-exported from TcEnv TcId, tcInstId, - zonkTopBinds, zonkId, zonkIdOcc, + zonkTopBinds, zonkId, zonkIdOcc, zonkExpr, zonkForeignExports, zonkRules ) where diff --git a/ghc/compiler/typecheck/TcModule.lhs b/ghc/compiler/typecheck/TcModule.lhs index 170beaa..9a747c1 100644 --- a/ghc/compiler/typecheck/TcModule.lhs +++ b/ghc/compiler/typecheck/TcModule.lhs @@ -18,7 +18,8 @@ import HsTypes ( toHsType ) import RnHsSyn ( RenamedHsBinds, RenamedHsDecl, RenamedHsExpr ) import TcHsSyn ( TypecheckedMonoBinds, TypecheckedHsExpr, TypecheckedForeignDecl, TypecheckedRuleDecl, - zonkTopBinds, zonkForeignExports, zonkRules, mkHsLet + zonkTopBinds, zonkForeignExports, zonkRules, mkHsLet, + zonkExpr ) @@ -121,8 +122,10 @@ typecheckExpr dflags pcs hst unqual this_mod (expr, decls) newTyVarTy openTypeKind `thenTc` \ ty -> tcMonoExpr expr ty `thenTc` \ (expr', lie) -> tcSimplifyTop lie `thenTc` \ binds -> + let all_expr = mkHsLet binds expr' in + zonkExpr all_expr `thenNF_Tc` \ zonked_expr -> zonkTcType ty `thenNF_Tc` \ zonked_ty -> - returnTc (new_pcs, mkHsLet binds expr', zonked_ty) + returnTc (new_pcs, zonked_expr, zonked_ty) where get_fixity :: Name -> Maybe Fixity get_fixity n = pprPanic "typecheckExpr" (ppr n) -- 1.7.10.4