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 )
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
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!"