bindist fixes
[ghc-hetmet.git] / compiler / deSugar / DsListComp.lhs
index e5e1fd9..2bd1a6d 100644 (file)
@@ -15,8 +15,6 @@ Desugaring list comprehensions and array comprehensions
 
 module DsListComp ( dsListComp, dsPArrComp ) where
 
--- XXX This define is a bit of a hack, and should be done more nicely
-#define FAST_STRING_NOT_NEEDED 1
 #include "HsVersions.h"
 
 import {-# SOURCE #-} DsExpr ( dsLExpr, dsLocalBinds )
@@ -24,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
@@ -587,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!"