Change desugaring of PArr literals
[ghc-hetmet.git] / compiler / deSugar / DsListComp.lhs
index 03da525..bdbe65e 100644 (file)
@@ -22,13 +22,14 @@ import {-# SOURCE #-} DsExpr ( dsLExpr, dsLocalBinds )
 import HsSyn
 import TcHsSyn
 import CoreSyn
+import MkCore
 
 import DsMonad         -- the monadery used in the desugarer
 import DsUtils
 
 import DynFlags
 import CoreUtils
-import Var
+import Id
 import Type
 import TysWiredIn
 import Match
@@ -55,7 +56,7 @@ dsListComp lquals body elt_ty = do
     dflags <- getDOptsDs
     let quals = map unLoc lquals
     
-    if not (dopt Opt_RewriteRules dflags) || dopt Opt_IgnoreInterfacePragmas dflags
+    if not (dopt Opt_EnableRewriteRules dflags) || dopt Opt_IgnoreInterfacePragmas dflags
        -- Either rules are switched off, or we are ignoring what there are;
        -- Either way foldr/build won't happen, so use the more efficient
        -- Wadler-style desugaring
@@ -585,7 +586,7 @@ dePArrComp (LetStmt ds : qs) body pa cea = do
     v <- newSysLocalDs ty'cea
     clet <- dsLocalBinds ds (mkCoreTup (map Var xs))
     let'v <- newSysLocalDs (exprType clet)
-    let projBody = mkDsLet (NonRec let'v clet) $ 
+    let projBody = mkCoreLet (NonRec let'v clet) $ 
                    mkCoreTup [Var v, Var let'v]
         errTy    = exprType projBody
         errMsg   = "DsListComp.dePArrComp: internal error!"